レプリケーションオブジェクトの変更
レプリケーションオブジェクトは、中央管理ノードで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コマンド”を参照してください。