Pgpool-IIフェイルオーバー時の更新不可について

Enterprise Postgres の技術情報はこちら

切り替え動作テストにおいてPgpool-IIをフェイルオーバーさせましたが更新SQLが実行できません。原因と対処方法を教えてください。
[原因]
データベースインスタンスを同期レプリケーション設定で動作させている環境において、Pgpool-IIのfailover_commandに指定したスクリプト内で非同期レプリケーション設定に変更する操作を実施していなかったことが原因です。

[対処方法]
Pgpool-IIのfailover_commandに指定したスクリプトでデータベースインスタンスの切り離しまたは昇格を実施する際に、新プライマリインスタンスに対して次のような非同期レプリケーション設定に変更する操作を行うようにしてください。
  1. postgresql.confファイルのsynchronous_standby_namesパラメータを削除またはコメントアウトする。
  2. pg_ctl reloadコマンドを実行する。

なお、本操作によりフェイルオーバー後は新プライマリのデータベースインスタンスが非同期レプリケーションの状態となります。
フェイルバック操作などで切り離されたデータベースインスタンスを再組み込みするときは、必要に応じて同期レプリケーション設定に戻す操作を実施してください。

パラメタの詳細は、以下を参照してください。

・synchronous_standby_names:
 Fujitsu Enterprise Postgres 17
  PostgreSQL 17.0 Documentation
   Server Configuration
    Replication
     Primary Server

なお、上記以外の製品バージョン/レベルについては、該当するマニュアル箇所を参照してください。
製品・サービス情報
対象製品Enterprise Postgres
プラットフォームLinux
アンサー種別 設計/開発
このページの先頭へ