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

5.2.2 レプリケーションテーブルの変更

レプリケーションオブジェクトの変更

レプリケーションオブジェクトは、中央管理ノードでpgx_alter_replication_object()を実行することで変更できます。パラメータsynchronous_commitの設定値を変更することができます。

originalテーブル、replicatedテーブルの変更

originalテーブル、replicatedテーブルは、ALTER TABLE文によって変更します。

全ノードに対するオブジェクトであるため、パラメータpgx_ddl_target_node を空、または、'ALLNODES'に設定した状態で、中央管理ノードで実行すると全ノードでテーブルが変更されます。

パラメータpgx_ddl_target_node を'COORDINAOTR'、または、データノード名に設定した状態で実行すると、レプリケーションが継続できなくなる可能性がありますので、基本的には全ノードで変更するように実行してください。


以下にレプリケーションテーブルの変更例を示します。

データベースdb1でレプリケーションテーブルtbl1とレプリケーションオブジェクトを変更したい場合
  -中央管理ノードにおいて、tbl1の所有者で実行
 db1=> SET pgx_ddl_target_node = 'ALLNODES';
 SET
 db1=> ALTER TABLE tbl1 ADD COLUMN data text;
 ALTER TABLE
 db1=> RESET pgx_ddl_target_node;
 RESET

  -中央管理ノードにおいて、スーパーユーザーで実行
 db1=# SELECT pgx_alter_replication_object('remote_apply');
 pgx_alter_replication_object
 -------------------------------
  t
 (1 row)

pgx_alter_replication_object()の詳細は“付録B システム管理関数/プロシージャ”を参照してください。

レプリケーションテーブルに対するALTER TABLE文の詳細は、“付録A SQLコマンド”を参照してください。