ページの先頭行へ戻る
Enterprise Postgres 14 SP1 スケールアウト運用ガイド
FUJITSU Software

5.2.4 レプリケーションテーブルの同期方法

レプリケーションテーブルは、同期・非同期レプリケーションの両方に対応しています。レプリケーションオブジェクトの設定によって選択することができます。

非同期レプリケーションを利用したいときは、特に設定を変更する必要はありません。デフォルトで非同期レプリケーションが設定されます。

同期レプリケーションを利用したいときは、中央管理ノードのパラメータsynchronous_standby_namesに、レプリケーションオブジェクトの名前を追加してください。レプリケーションオブジェクトの名前は、pgx_replication_object.subnameに対応しています。また、Mirroring Controllerの設定として、サーバ識別子.confのパラメータmc_synchronous_standby_nameを設定する必要があります。


以下に同期レプリケーションの設定例を示します。

データベースdb1に存在するレプリケーションテーブルの同期方法を、同期レプリケーションに設定します。
-中央管理ノードにおいて実行し、pgx_replication_object.subnameを確認
db1=# SELECT * FROM pgx_replication_object;
 objid | nodeid | pubid |     slotname      |      subname
-------+--------+-------+-------------------+-------------------
 10000 |  20000 | 30000 | db40000_node20000 | db40000_node20000
 10001 |  20001 | 30001 | db40000_node20001 | db40000_node20001
(2 row)

-postgresql.confでパラメータを設定
synchronous_standby_names = 'FIRST 3 (coordinator_standby, db40000_node20000, db40000_node20001)'

-Mirroring Controllerを停止
$ mc_ctl stop -M /mcdir/inst1 -a --mc-only

-サーバ識別子.confでパラメータを設定
mc_synchronous_standby_name = 'coordinator_standby'

-パラメータ変更を反映
$ mc_ctl start -M /mcdir/inst1 --mc-only
$ pg_ctl reload