アプリケーションサーバーとデータベースサーバー間のすべてのルーター/スイッチのTCP/IPソケットタイムアウト設定を確認します。また、データベース側でロギングをオンにして、接続のライフサイクル全体を監視し、タイミングをアプリケーションのエラーと比較します。何を探すべきかがわかるまで、postgresql.confで次の設定をオンにすることをお勧めします。
log_connections = on
log_disconnections = on
log_statement = all
これらは、postgresプロセスのSIGHUPを使用してアクティブ化できます(または、データベーススーパーユーザーとして「SELECTpg_reload_conf();」を実行します。
「リモートホストによって接続が閉じられました」など、実際の切断がログに記録される前の最後のメッセージと同様のメッセージが表示されます。
これは以前に見たことがありますが、これは中間スイッチのタイムアウト設定が原因でした。