max_standby_streaming_delay

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

ホットスタンバイが稼動している場合、このパラメータはhot-standby-conflictで記載されているように、まさに適用されようとしているWALエントリと衝突するスタンバイサーバの問い合わせをキャンセルするにはどれだけ待機しなければならないかを設定します。max_standby_streaming_delayはWALデータをストリーミングレプリケーションから受け取っている時に適用されます。特に指定が無ければ単位はミリ秒です。デフォルトは30秒です。値-1は衝突する問い合わせが完了するまでスタンバイサーバが待ち続けられるようにします。このパラメータは、postgresql.confファイル、もしくはサーバコマンドラインでのみ設定可能です。

max_standby_streaming_delayはキャンセル前に問い合わせが実行できる最大の時間の長さと同じでないことに注意してください。むしろ、プライマリサーバから一度受け取られた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.

件のコメント