ページの先頭行へ戻る
Enterprise Postgres 17 Connection Manager 利用ガイド

2.2.1 postgresql.confの設定

Connection Manager利用時に設定が必要なpostgresql.confのパラメータを説明します。

設定するパラメータ

max_connections

PostgreSQLの既存のパラメータです。すでに設定されている値に2を加えてください。

以下を実施するため、インスタンスを起動した時点からインスタンスへの接続が維持されます。

  • watchdogプロセスがインスタンスの状態を確認する

  • terminatorプロセスがクライアントのSQL接続を強制回収する

shared_preload_libraries

PostgreSQLの既存のパラメータです。watchdogを追加してください。

watchdogを追加してインスタンスを再起動すると、watchdogプロセスとterminatorプロセスが起動します。

watchdog.port (integer)

watchdogプロセスがconmgrプロセスからの生死監視のための接続を受け付けるポート番号を指定します。

1以上かつ65535以下の値を指定してください。デフォルトは27545です。このパラメータの変更を反映するためには、インスタンスの再起動が必要です。

watchdog.check_attr_interval (integer)

インスタンスの属性を確認する間隔を指定します。

属性が変化した場合には、watchdogプロセスは直ちにconmgrプロセスに通知します。

単位はミリ秒です。1ミリ秒以上を指定してください。デフォルトは1000ミリ秒です。このパラメータの変更を反映するためには、インスタンスの再起動が必要です。

watchdog.max_heartbeat_connections (integer)

watchdogプロセスに接続するconmgrプロセスの最大数を指定します。

デフォルトはpostgresql.confのmax_connectionsパラメータの値です。

上限はありませんが、PostgreSQLを起動したときに1接続に対して約200バイトのメモリを消費します。

Linux

注意

通常は考慮する必要はありませんが、非常に多くのconmgrプロセスとの間にハートビート接続を行う場合には、OSのユーザーリミットのファイルディスクリプタの上限数(ulimitコマンドの-nで確認することができます)に抵触するかもしれません。これは、ハートビート接続のためのソケットがファイルディスクリプタを消費するからです。OSのユーザーリミットのファイルディスクリプタの上限数は、postgresql.confのmax_files_per_processパラメータの値とwatchdog.max_heartbeat_connectionsパラメータの値から以下で算出した値よりも大きな値を設定してください。

max_files_per_process + watchdog.max_heartbeat_connections × 2