関数 | 戻り値の型 | 説明 |
---|---|---|
pgx_create_replication_object(synchronous_commit text, server_name name) | boolean | 中央管理ノードとデータノードにレプリケーションオブジェクトを定義します。 |
中央管理ノードには、server_nameに指定した各データノードに対応したパブリケーションとレプリケーションスロットを、server_nameに指定したデータノードにはサブスクリプションを定義します。
server_nameを省略した場合は、全データノードにサブスクリプションを定義します。
サブスクリプションのパラメータsynchronous_commitには、on、remote_apply、remote_writeのいずれかを設定できます。省略した場合はonが設定されます。synchronous_commitの詳細は、“PostgreSQL Documentation”を参照してください。
この関数は中央管理ノードでスーパーユーザーのみ実行できます。
1つのデータベースに、同じデータノードに対応するレプリケーションオブジェクトを複数作成することはできません。つまり、テーブルごとにレプリケーションオブジェクトを作成することはできません。
レプリケーションオブジェクトは、db[データベースのOID]_node[ノードのOID]の形式で命名されます。
名前を変更したり、この関数を使用せずに同名のパブリケーション、レプリケーションスロット、サブスクリプションを定義したりすると正常に動作しなくなるため、そのような操作は実行しないでください。
サブスクリプションのパラメータCONNECTIONには、データノードのインスタンス作成時のスーパーユーザーのユーザーマッピングに基づいた接続情報が設定されます。 ユーザーマッピングの値が変更された際には、自動的にサブスクリプションのパラメータCONNECTIONも同様に変更されます。
その他のパラメータはデフォルト値が設定されます。