Replication set management¶
bdr.create_replication_set¶
この関数は、レプリケーションセットを作成します。
このコマンドのレプリケーションは、 DDLDDL構成の影響を受けます。
概要¶
bdr.create_replication_set(set_name name,
replicate_insert boolean DEFAULT true,
replicate_update boolean DEFAULT true,
replicate_delete boolean DEFAULT true,
replicate_truncate boolean DEFAULT true,
autoadd_tables boolean DEFAULT false,
autoadd_existing boolean DEFAULT true)
パラメータ¶
set_name—新しい複製セットの名前。 PGDグループ全体で一意である必要があります。replicate_insert—このレプリケーションセット内のテーブルへの挿入をレプリケートするかどうかを示します。replicate_update—このレプリケーションセット内のテーブルの更新をレプリケートするかどうかを示します。replicate_delete—このレプリケーションセット内のテーブルからの削除をレプリケートするかどうかを示します。replicate_truncate—このレプリケーションセット内のテーブルの切り捨てをレプリケートするかどうかを示します。autoadd_tables—新しく作成された(将来)テーブルをこのレプリケーションセットにレプリケートするかどうかを示しますautoadd_existing—このレプリケーションセットに既存のすべてのユーザーテーブルを追加するかどうかを示します。このパラメーターは、autoadd_tablesがtrueに設定されている場合にのみ効果があります。
注意事項¶
- デフォルトでは、新しいレプリケーションセットはDDLまたはPGD管理ファンクションコールをレプリケートしません。レプリケーションセットのDDLレプリケーションを設定する方法については、
ddl filters を参照してください。すべてのDDLおよび管理ファンクションコールをレプリケートするデフォルトのグループレプリケーションセット用に、既存のDDLフィルターが設定されています。グループの作成時に作成されますが、PGDグループのデフォルトのレプリケーションセットでDDLまたはPGD管理関数呼び出しをレプリケートしたくない場合は、削除できます。
この関数は、 DDL
ステートメントと同じレプリケーションメカニズムを使用します。これは、レプリケーションが ddl filters の影響を受けることを意味します
構成。
この関数は、 DDL グローバルロックを取ります。
この関数はトランザクションです。トランザクションのROLLBACK
を使用して、効果をロールバックできます。変更は現在のトランザクションに表示されます。
bdr.alter_replication_set¶
この機能は、既存のレプリケーションセットのオプションを変更します。
このコマンドのレプリケーションは、 DDLフィルタリング設定を含むDDLレプリケーション構成の影響を受けます。
概要¶
bdr.alter_replication_set(set_name name,
replicate_insert boolean DEFAULT NULL,
replicate_update boolean DEFAULT NULL,
replicate_delete boolean DEFAULT NULL,
replicate_truncate boolean DEFAULT NULL,
autoadd_tables boolean DEFAULT NULL)
パラメータ¶
set_name—既存の複製セットの名前。replicate_insert—このレプリケーションセット内のテーブルへの挿入をレプリケートするかどうかを示します。replicate_update—このレプリケーションセット内のテーブルの更新をレプリケートするかどうかを示します。replicate_delete—このレプリケーションセット内のテーブルからの削除をレプリケートするかどうかを示します。replicate_truncate—このレプリケーションセット内のテーブルの切り捨てをレプリケートするかどうかを示します。autoadd_tables—新しく作成された(将来)テーブルをこのレプリケーションセットに追加するかどうかを示します。
NULL(デフォルト)に設定されているオプションはすべて、以前と同じままです。
注意事項¶
この関数は、 DDL
ステートメントと同じレプリケーションメカニズムを使用します。これは、レプリケーションが ddl filters の影響を受けることを意味します
構成。
この関数は、 DDL グローバルロックを取ります。
この関数はトランザクションです。トランザクションのROLLBACK
を使用して、効果をロールバックできます。変更は現在のトランザクションに表示されます。
bdr.drop_replication_set¶
この関数は、既存のレプリケーションセットを削除します。
このコマンドのレプリケーションは、 DDLフィルタリング設定を含むDDLレプリケーション構成の影響を受けます。
概要¶
bdr.drop_replication_set(set_name name)
パラメータ¶
set_name—既存の複製セットの名前。
注意事項¶
この関数は、 DDL
ステートメントと同じレプリケーションメカニズムを使用します。これは、レプリケーションが ddl filters の影響を受けることを意味します
構成。
この関数は、 DDL グローバルロックを取ります。
この関数はトランザクションです。トランザクションのROLLBACK
を使用して、効果をロールバックできます。変更は現在のトランザクションに表示されます。
警告
少なくとも別のノードで使用されているレプリケーションセットを削除しないでください。そのノードでレプリケーションが停止するためです。その場合は、影響を受けるノードをそのレプリケーションセットからサブスクライブ解除します。同じ理由から、参加するノードがそのレプリケーションセットのメンバーである場合、参加操作が進行中のレプリケーションセットを削除しないでください。レプリケーションセットのメンバーシップは、結合の開始時にのみチェックされます。これは、レプリケーションセットの使用に関する情報は各ノードにローカルであるため、グループに参加する前にノードで構成できるために発生します。
alter_node_replication_sets
を使用して、ノードのレプリケーションセットサブスクリプションを管理できます。
bdr.alter_node_replication_sets¶
この関数は、ノードがパブリッシュおよびサブスクライブするレプリケーションセットを変更します。
概要¶
bdr.alter_node_replication_sets(node_name name,
set_names text[])
パラメータ¶
node_name—変更するノード。現在、ローカルノードである必要があります。set_names—指定されたノードにレプリケートするレプリケーションセットの配列。配列が空の場合、グループのデフォルトのレプリケーションセットが使用されます。
注意事項¶
この関数はローカルノードでのみ実行され、いかなる方法でも複製されません。
この関数はノードが参加する前に実行されるように設計されているため、リストされているレプリケーションセットの存在はチェックされません。エラーを回避するために、レプリケーションセット名を正しく指定するように注意してください。
これにより、PGDグループの一部であるノードだけでなく、まだグループに参加していないノードでも関数を呼び出すことができます。このアプローチでは、結合中に同期されるデータが制限されます。ただし、スキーマは、レプリケーションセットの設定に関係なく、常に完全に同期されます。レプリケーションセットで指定されたテーブルだけでなく、すべてのテーブルがコピーされます。
bdr.tables
カタログテーブルを参照して、不要なテーブルを削除できます。これらは、PGDの以降のバージョンで自動的に削除される可能性があります。これは、
そうしないと、構成によりDDLのレプリケーションが防止されます。
この呼び出しの後にノードがサブスクライブするレプリケーションセットは、他のノードによって公開され、これらのノードからこの関数が実行されるノードに変更を実際に複製します。