22

エラーOperationalError:FATAL:申し訳ありませんが、psycopg2を使用しているときにすでにクライアントが多すぎます。使い終わった後、接続インスタンスでcloseメソッドを呼び出しています。何が原因であるかはわかりません。Pythonとpostgresqlを初めて使用した経験ですが、php、asp.net、mysql、およびsqlサーバーを数年使用した経験があります。

編集:私はこれをローカルで実行しています。接続が本来あるべきように閉じている場合は、一度に1つの接続しか開いていません。私はデータベースに対してGUIを開いていましたが、閉じていてもこのエラーが発生します。プログラムを実行した直後に発生しています。次のように開かれた接続を返す関数を呼び出します。

psycopg2.connect(connectionString)

ありがとう

最終編集:それは私の間違いでした。同じメソッドを何度も開いていたので、間違って同じメソッドを再帰的に呼び出していました。長い一日でした。

4

3 に答える 3

15

このエラーは、postgreSQLに接続されているクライアントが多すぎることを意味します。

あなたが自分自身に尋ねるべき質問:

  • このデータベースに接続しているのはあなただけですか?
  • グラフィカルIDEを実行していますか?
  • 接続にはどのような方法を使用していますか?
  • コードの実行と同時にクエリをテストしていますか?

これらのいずれかが問題になる可能性があります。あなたが管理者であれば、クライアントの数を増やすことができますが、プログラムがそれを開いたままにしている場合、それは長い間役に立ちません。

同時に実行しているクライアントが多すぎる理由はたくさんあります。

于 2009-02-06T06:24:20.207 に答える
3

db 接続コマンドがどのような種類のループにもなっていないことを確認してください。実行ループを繰り返すプログラムから db.database() を移動するまで、スクリプトから同じエラーが発生していました。

于 2013-02-23T22:34:39.480 に答える