スタンバイサーバでWALが削除されない事象について
Enterprise Postgresのよくあるご質問を検索できます。
Enterprise Postgres の技術情報はこちら
- スタンバイサーバでWALファイルが削除されません。原因と対処方法を教えてください。
- [原因]
スタンバイサーバのstartupプロセスにおいて、WAL適用処理が参照SQLの終了を待っていることが原因です。
スタンバイサーバでは、スタンバイサーバへの問い合わせとプライマリサーバから送られてきた特定の動作(テーブル排他ロック、データベースのDROP、VACUUM等)のWALの適用がコンフリクトする場合があります。このコンフリクトが発生しているとWALの適用が待ち状態となってしまうため、WALファイルの削除が実行されません。
[対処方法] スタンバイサーバで実行している、時間のかかる参照処理の停止をご検討ください。
また、max_standby_streaming_delay パラメタを1以上の値に設定することをご検討ください。
なお、max_standby_streaming_delay パラメタを1以上の値に設定すると、その時間を超えて実行されている参照SQLが「FATAL: 40000: terminating connection due to conflict with recovery」のエラーを返す場合があります。
このため、max_standby_streaming_delayパラメタの値は参照SQLの実行時間を考慮して設定してください。
パラメタの詳細は、以下を参照してください。
・max_standby_streaming_delay:
Fujitsu Enterprise Postgres 17
PostgreSQL 17.0 Documentation
Server Configuration
Replication
Standby Servers
なお、上記以外の製品バージョン/レベルについては、該当するマニュアル箇所を参照してください。
製品・サービス情報 |
|
||||
---|---|---|---|---|---|
アンサー種別 | 運用/保守 |