Connection Manager利用時に設定が必要なpostgresql.confのパラメータを説明します。
設定するパラメータ
PostgreSQLの既存のパラメータです。すでに設定されている値に2を加えてください。
以下を実施するため、インスタンスを起動した時点からインスタンスへの接続が維持されます。
watchdogプロセスがインスタンスの状態を確認する
terminatorプロセスがクライアントのSQL接続を強制回収する
PostgreSQLの既存のパラメータです。watchdogを追加してください。
watchdogを追加してインスタンスを再起動すると、watchdogプロセスとterminatorプロセスが起動します。
watchdogプロセスがconmgrプロセスからの生死監視のための接続を受け付けるポート番号を指定します。
1以上かつ65535以下の値を指定してください。デフォルトは27545です。このパラメータの変更を反映するためには、インスタンスの再起動が必要です。
インスタンスの属性を確認する間隔を指定します。
属性が変化した場合には、watchdogプロセスは直ちにconmgrプロセスに通知します。
単位はミリ秒です。1ミリ秒以上を指定してください。デフォルトは1000ミリ秒です。このパラメータの変更を反映するためには、インスタンスの再起動が必要です。
watchdogプロセスに接続するconmgrプロセスの最大数を指定します。
デフォルトはpostgresql.confのmax_connectionsパラメータの値です。
上限はありませんが、PostgreSQLを起動したときに1接続に対して約200バイトのメモリを消費します。
注意
通常は考慮する必要はありませんが、非常に多くのconmgrプロセスとの間にハートビート接続を行う場合には、OSのユーザーリミットのファイルディスクリプタの上限数(ulimitコマンドの-nで確認することができます)に抵触するかもしれません。これは、ハートビート接続のためのソケットがファイルディスクリプタを消費するからです。OSのユーザーリミットのファイルディスクリプタの上限数は、postgresql.confのmax_files_per_processパラメータの値とwatchdog.max_heartbeat_connectionsパラメータの値から以下で算出した値よりも大きな値を設定してください。
max_files_per_process + watchdog.max_heartbeat_connections × 2