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 filters
それ以外の場合は、構成がDDLのレプリケーションを防止します。
この呼び出しの後にノードがサブスクライブするレプリケーションセットは、他のノードからこのファンクションが実行されるノードに変更を実際にレプリケートするために他のノードによって公開されます。