2009-05-21 76 views
2

私たちのプロジェクトでは、postgresSql(8.3)をデータベースサーバとして使用していますが、まれに という問題に直面しています。私はpostgreSQLサーバの接続試行に失敗しました

****Connection attempt failed**** 

のようなエラーを見ていたログファイルには、アプリケーションがDBサーバ から接続オブジェクトを取得しようとしている、ことを私のために意味が、それは成功しなかったでした。

奇妙なことは、データベースサーバーまたはWebサーバー(Tomcat)を再起動すると正常に動作します。 このエラーはめったに発生しません。

+0

あなたの環境、アプリケーションの理由がポストグレーズ外にある可能性があるため、さらに詳しい情報を提供できますか? –

+0

このエラーはtomcatログにありますか?もしそうなら、例外バックトレースはありますか?その時間のpostgresqlログにエラーはありますか? – araqnid

+0

これに関する詳細情報が必要です。 –

答えて

0

これは、ユーザーが要求をキャンセルし、サーバーがリクエストの途中で接続を強制終了する場合に、Webアプリケーションで一般的です。実際にサーバーを実際に停止していないようですね?

1

これを引き起こしている可能性のあることがいくつかありますが、それ以上の詳細は言えません。

1.ネットワークエラー。接続文字列の一部がPostgreSQLに渡されない可能性があります。項目2を参照してください。

2.接続文字列が壊れています。接続文字列は動的に作成されていますか?

3.接続プールの問題。しかし、これはあなたの接続プールでエラーをスローする必要があります。あなたが使用している接続プールのタイプを知らなければ、私はそれを排除することはできません。

1

接続の最大数を超えている可能性があります。 postgresql.confでmax_connectionsパラメータを調べてください。ほとんどのビルドではデフォルトは100です。

netstat -tn | grep -c 5432 

現在開かれている接続数に近似してください。

0

開封後にfinallyブロックのリソース(接続、文、結果セット)を閉じていることを確認してください。接続プールを使用している場合は、maxsizeがあまりにも高く設定されていないことも確認してください。

関連する問題