スタンバイサーバでWALが削除されない事象について

Symfoware Server の技術情報はこちら

スタンバイサーバで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:
 Symfoware Server V12.9.0
  PostgreSQL 15.5 Documentation
   Server Configuration
    Replication
     Standby Servers

なお、上記以外の製品バージョン/レベルについては、該当するマニュアル箇所を参照してください。
製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Open Interface), Symfoware Server (Postgres)
プラットフォーム Windows, Solaris, Linux
アンサー種別 運用/保守
このページの先頭へ