プロシージャ | 説明 |
---|---|
pgx_detach_replication_table(schema_name name, table_name name, server_name name) | server_nameに指定したデータノードに対応するレプリケーションオブジェクトのレプリケーション対象からoriginalテーブルを削除します。その後replicatedテーブルのデータをすべて削除します。 |
replicatedテーブル自体は削除されません。システムカタログpgx_replication_tableからは削除され、以降は通常のテーブルとして扱われます。このテーブルに対してpgx_attach_replication_table()を実行することで再度replicatedテーブルとして利用することもできます。
schema_name, table_nameには既に存在するoriginalテーブルの情報を指定してください。指定したテーブルがレプリケーションテーブルでなかった場合はエラーになります。
server_nameを省略した場合は、全データノードに対して処理を実行します。
only_coordinatorをtrueに設定した場合は、中央管理ノードに対してのみ処理を実行します。 データノードに接続できない際にtrueに設定してください。基本的にはfalseに設定してください。省略した場合はfalseが設定されます。
このプロシージャは中央管理ノードでスーパーユーザーのみ実行できます。
内部的にコミットする処理が含まれるため、エラーとなった場合に一部の処理がロールバックされない可能性があります。その場合はpgx_attach_replication_table()を実行して復旧してください。ロールバックされていない処理が存在するかどうかの判断方法や注意点はpgx_attach_replication_table()と同様ですので、“B.1.5 pgx_attach_replication_table()”を参照してください。
このプロシージャはトランザクションブロック内で実行することはできません。