レプリケーションテーブルを作成し、確認までを行います。DDLは、中央管理ノード(プライマリサーバ)で実行します。
詳細は“5.2 レプリケーションテーブル”を参照してください。
レプリケーションテーブル用のテーブル空間の領域の確保
レプリケーションテーブル用のテーブル空間の領域(ディレクトリ)は、プライマリサーバ、スタンバイサーバを含めた、すべてのノード(中央管理ノード、各データノード)で事前に作成しておく必要があります。
中央管理ノード(プライマリサーバ)でのレプリケーションテーブル用のテーブル空間の作成
中央管理ノードでテーブル空間を割り当てます。
レプリケーションテーブルを作成するには、対象のノードに対して、レプリケーションオブジェクトを作成しておく必要があります。以下のSQL文で、定義されているすべてのノード(中央管理ノード、データノード)に対するレプリケーションオブジェクトを作成します。
SELECT pgx_create_replication_object();
レプリケーションテーブル用のテーブル空間をテーブル空間用作成ディレクトリに割り当てます。以下の例では、テーブル空間“repspace”を、'/home/fsepuser/replica_tablespace'に割り当てています。
また、中央管理ノード、データノードすべてが実行対象になるように、“pgx_ddl_target_node”で'ALLNODES'を設定してからテーブル空間を作成します。ただし、レプリケーションテーブルが不要なノードが存在する場合は、“pgx_ddl_target_node”には対象のノードだけをカンマ区切りで指定します。
SET pgx_ddl_target_node = 'ALLNODES'; CREATE TABLESPACE repspace LOCATION '/home/fsepuser/replica_tablespace'; RESET pgx_ddl_target_node;
中央管理ノード(プライマリサーバ)でのレプリケーションテーブルの作成
中央管理ノード(プライマリサーバ)でレプリケーションテーブルを作成します。
SET pgx_ddl_target_node = 'ALLNODES'; CREATE REPLICATION TABLE bank_info (bank_id int primary key, bank_name text ) TABLESPACE repspace; CREATE REPLICATION TABLE branch_info (bank_id int, branch_id varchar(64) primary key, branch_name text) TABLESPACE repspace; RESET pgx_ddl_target_node;