• ベストアンサー

PostgreSQL 接続プール数について

vb.netよりPostgreSQLに接続すると以下のエラーが表示されました。 【エラー】 The connection pool has been exhausted, either raise MaxPoolSize(100) or Timeout(currently 15 seconds) 接続ユーザ数は、3ユーザぐらいなのですが、なぜこのようなエラーが出るのでしょうか? どなたかお詳しい方がいらっしゃいましたら、ご教授頂ければ、助かります。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5253/13738)
回答No.1

いくつか理由が考えられますが、一つはアプリケーションで明示的に接続を切らずに処理を終了した場合、タイムアウトするまでコネクションが維持されてしまい接続上限に達してしまうというケース。 あとは、アプリケーション上は切断したことになっていても、ドライバー側でサーバとの接続を切らずに維持し、次にアプリケーションから接続要求があった際にコネクションを再利用することでオーバーヘッドを減らそうとする仕組みに対して、アプリケーションの作りや設定が悪くてコネクションの再利用が出来ていなくて、新規コネクションを作ってしまって接続上限に達してしまうと言うケースがあります。

関連するQ&A