Viewing PGD topology#

PGDグループのリスト#

pgd-cli の使用#

pgd-cli groups list コマンドを使用して、PGDクラスター内のすべてのグループをリストします。

pgd groups list
Group Name  Parent Group Name Group Type     Nodes
---------- ----------------- --------------- -----
bdrgroup   bdrgroup          global          0
group_a    bdrgroup          data            4
group_b    bdrgroup          data            4
group_c    bdrgroup          data            1
group_so   bdrgroup          subscriber-only 1

SQLを使用する#

次の単純なクエリーは、現在のノードがメンバーであるすべてのPGDノードグループをリストします。現在、 bdr.local_node_summary から1行のみを返します。

SELECT node_group_name
FROM bdr.local_node_summary;

より複雑なクエリーを使用して、各ノードグループの構成を表示できます。

SELECT g.node_group_name
, ns.pub_repsets
, ns.sub_repsets
, g.node_group_default_repset     AS default_repset
, node_group_check_constraints    AS check_constraints
FROM bdr.local_node_summary ns
JOIN bdr.node_group g USING (node_group_name);

PGDグループ内のノードのリスト#

pgd-cli の使用#

nodes list コマンドを使用して、PGDクラスター内のすべてのノードをリストします。

pgd nodes list
Node Name           Group Name Node Kind       Join State Node Status
------------------- ---------- --------------- ---------- -----------
bdr-a1              group_a    data            ACTIVE     Up
bdr-a2              group_a    data            ACTIVE     Up
logical-standby-a1  group_a    standby         ACTIVE     Up
witness-a           group_a    witness         ACTIVE     Up
bdr-b1              group_b    data            ACTIVE     Up
bdr-b2              group_b    data            ACTIVE     Up
logical-standby-b1  group_b    standby         ACTIVE     Up
witness-b           group_b    witness         ACTIVE     Up
witness-c           group_c    witness         ACTIVE     Up
subscriber-only-c1  group_so   subscriber-only ACTIVE     Up

グループ名でgrep を使用して、リストを特定のグループにフィルタリングします。

pgd nodes list | grep group_b
bdr-b1             group_b  data      ACTIVE     Up
bdr-b2             group_b  data      ACTIVE     Up
logical-standby-b1 group_b  standby   ACTIVE     Up
witness-b          group_b  witness   ACTIVE     Up

SQLを使用する#

bdr.node_summary ビューから、特定のノードグループ mygroup`などのすべてのノードのリストを抽出できます。例

SELECT node_name         AS name
, node_seq_id            AS ord
, peer_state_name        AS current_state
, peer_target_state_name AS target_state
, interface_connstr      AS dsn
FROM bdr.node_summary
WHERE node_group_name = mygroup;