[英]How to select tables under replication in Postgres or List databases under replication in Postgres
我有 3 個節點的 Postgres 集群,想知道邏輯復制下的表/數據庫。 我面臨的問題是,當領導者/主節點出現故障並且其中一個副本接管領導者/主節點,然后隨着時間的推移,舊的領導者/主節點重新加入集群。 在這種情況下,我想知道在這個新副本的邏輯復制下發生了什么變化。
注意:新副本將被同步並包含與其他節點相同的數據。 我正在使用 postgres 11 及更高版本
如果您使用的是邏輯復制:
在發布者方面, pg_publication_tables
表將顯示您正在邏輯解碼的表。
在訂閱者端,您可以監控pg_stat_subscription
以獲取 received_lsn 和 last_* 時間列
如果您使用 pglogical 擴展:在發布者端, pglogical.node_interface
將向您顯示節點 ID 及其名稱。 此外, pglogical.replication_set
表將顯示哪些類型的語句在集合中獲得復制
在訂閱者方面, pglogical.show_subscription_status()
function 將顯示訂閱名稱和replicating
狀態等狀態
按着這些次序:
獲取所需的復制集 ID(無條件列出所有可用):
SELECT * FROM pglogical.replication_set WHERE set_name = 'your_replication_set_name';
請參閱“set_id”列值(例如:123456789)。
列出由“set_id”給出的所需復制集下的表:
SELECT * FROM pglogical.replication_set_table WHERE set_id = 123456789;
您將獲得所需復制集 ID 下的所有表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.