PostgreSQLデータベースへのリモートアクセスのタイムアウトオプションはありますか?


9

私が働いている経由でリモートのPostgreSQLデータベースにpgAdminでIII。pgAdminで何もせずにそれほど長くない期間(たとえば10〜15分)が経過すると、接続は自動的に期限切れになります。そのため、再接続するかどうかを尋ねるエラーメッセージが表示されます。これには約10秒かかります。データベース構造が崩れるため、以前開いていたスキーマを再度開く必要があります。

タイムアウトパラメータをどこかに変更して、接続の有効期限が長くなるのを防ぐ方法はありますか?

回答:


8

10〜15分後にPostgreSQLサーバー接続がドロップするのは、ほとんどの場合、クライアントとサーバー間の状態追跡ファイアウォール(ネットワークアドレス変換(NAT)を使用している)が原因です。このようなファイアウォールの多くは、デフォルトのタイムアウトが15分(900秒)です。

3サーバー側のパラメータ、tcp_keepalives_idletcp_keepalives_intervaltcp_keepalives_countこれらの状況で役立つように設計されています。ここにあるドキュメントを参照してくださいhttp : //www.postgresql.org/docs/9.2/static/runtime-config-connection.html#GUC-TCP-KEEPALIVES-IDLE

このため、クライアント側のパラメータもありますkeepaliveskeepalives_idlekeepalives_intervalkeepalives_count、これは、接続に設定することができます。ここにあるドキュメントを参照してくださいhttp : //www.postgresql.org/docs/9.2/static/libpq-connect.html#LIBPQ-KEEPALIVES


コメントは詳細な議論のためのものではありません。この会話はチャットに移動しました
ポールホワイト9
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.