Joining nodes to a Subscriber-only group

Joining nodes to a Subscriber-only group#

PGDクラスターにサブスクライバー専用グループがない場合、 Creating Subscriber-only groups and nodes のプロセスに従ってグループを作成する必要があります。加入者専用グループを作成したら、加入者専用ノードをそれに参加できます。

既存の加入者専用グループへのノードの参加#

Creating Subscriber-only groups and nodes へのノードの参加とは異なり、既存の加入者専用グループへのノードの参加はより簡単なプロセスです。

最初に、新しいノードを加入者専用ノードとして作成します。新しいノードで次のSQLコマンドを実行します。

select bdr.create_node(so-node-2, host=so-host-2 dbname=pgddb port=5444, subscriber-only);

またはパラメーター名を使用してより明示的に

select bdr.create_node(node_name:=so-node-2,
        dsn:=host=so-host-2 dbname=pgddb port=5444,
        node_type:=subscriber-only);

このコマンドは、ホストso-host-2 にso-node-2 という名前の新しいノードを作成し、サブスクライバ専用ノードとして構成します。 ノードは、グループに参加するまでクラスターに参加できません。

Creating Subscriber-only groups and nodes では、 sogroup という名前のグループを作成し、ホスト shost-1 にso-node-1 というサブスクライバ専用ノードを追加しました。既存のデータグループのノードを使用して、その結合を促進します。ただし、この新しい加入者専用ノードを使用して、別の加入者専用ノードを追加することはできません。クラスターに完全に参加しているアクティブなデータノードを使用する必要があります。 Creating Subscriber-only groups and nodes の例では、このタスクのクラスターのデータグループでhost-one を使用します。 shost-2 で次のSQLコマンドを使用して、sogroup グループに参加できます。

select bdr.join_node_group(host=host-one dbname=pgddb port=5444,sogroup);

またはパラメーター名を使用してより明示的に

select bdr.join_node_group(dsn:=host=host-one dbname=pgddb port=5444,
        node_group_name:=sogroup);

このコマンドは、新しいノードにsogroup グループに参加するように指示します。クラスタートポロジの知識がないため、DSNで指定されたノードに接続して、グループに参加するために必要な情報を受信します。そのノードは、新しいノードをグループに参加する要求のソースとして機能するため、クラスターに完全に参加する必要があります。

新しいノードがグループに参加すると、最初に同期することから開始され、クラスター内の他のノードからレプリケーション変更の受信を開始します。

注釈

グループが Optimizing subscriber-only groups を使用している場合を除き、参加しているサブスクライバ専用グループのサブスクライバ専用グループリーダーから変更をレプリケートします。