タイプ: integer
デフォルト: 30000 (30s)
分: -1 (-1)
最大: 2147483647 (2147483647ms)
単位: milliseconds (ms)
コンテキスト: sighup
再起動: false

ホットスタンバイが稼動している場合、このパラメータはhot-standby-conflictで記載されているように、まさに適用されようとしているWALエントリと衝突するスタンバイサーバの問い合わせをキャンセルするにはどれだけ待機しなければならないかを設定します。max_standby_archive_delayはWALデータをWALアーカイブ(すなわち最新ではありません)から読み込んでいる時に適用されます。この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。デフォルトは30秒です。値-1は衝突する問い合わせが完了するまでスタンバイサーバが待ち続けられるようにします。このパラメータは、postgresql.confファイル、もしくはサーバコマンドラインでのみ設定可能です。

max_standby_archive_delayはキャンセル前に問い合わせが実行できる最大の時間の長さと同じでないことに注意してください。むしろ、任意の1つのWALセグメントのデータの適用のために許される最大合計時間です。従って、ある問い合わせによりWALセグメント内の前の部分で大幅な遅延となった場合、その後の衝突する問い合わせの猶予時間はずっと短くなります。

推奨事項 [EN]

If you are replicating primarily for failover, set this to a very low value (like 0) in order to keep the standby as up to date as possible. If this standby is running queries as its primary role, set to the length of time of the longest-running query you want to allow.

件のコメント