Pgpool-IIフェイルオーバー時の更新不可について
Enterprise Postgresのよくあるご質問を検索できます。
Enterprise Postgres の技術情報はこちら
- 切り替え動作テストにおいてPgpool-IIをフェイルオーバーさせましたが更新SQLが実行できません。原因と対処方法を教えてください。
- [原因]
データベースインスタンスを同期レプリケーション設定で動作させている環境において、Pgpool-IIのfailover_commandに指定したスクリプト内で非同期レプリケーション設定に変更する操作を実施していなかったことが原因です。
[対処方法]
Pgpool-IIのfailover_commandに指定したスクリプトでデータベースインスタンスの切り離しまたは昇格を実施する際に、新プライマリインスタンスに対して次のような非同期レプリケーション設定に変更する操作を行うようにしてください。
- postgresql.confファイルのsynchronous_standby_namesパラメータを削除またはコメントアウトする。
- pg_ctl reloadコマンドを実行する。
なお、本操作によりフェイルオーバー後は新プライマリのデータベースインスタンスが非同期レプリケーションの状態となります。
フェイルバック操作などで切り離されたデータベースインスタンスを再組み込みするときは、必要に応じて同期レプリケーション設定に戻す操作を実施してください。
パラメタの詳細は、以下を参照してください。
・synchronous_standby_names:
Fujitsu Enterprise Postgres 17
PostgreSQL 17.0 Documentation
Server Configuration
Replication
Primary Server
なお、上記以外の製品バージョン/レベルについては、該当するマニュアル箇所を参照してください。
製品・サービス情報 |
|
||||
---|---|---|---|---|---|
アンサー種別 | 設計/開発 |