管理 RDS for PostgreSQL 的邏輯複寫槽
在對充當邏輯複寫案例中發佈者節點的 RDS for PostgreSQL 資料庫執行個體執行主要版本升級之前,您必須捨棄執行個體上的複寫槽。主要版本升級預先檢查程序會通知您,除非捨棄複寫槽,否則升級無法繼續進行。
若要從 RDS for PostgreSQL 資料庫執行個體中捨棄複寫槽,請先捨棄訂閱,然後捨棄複寫槽。
若要識別已使用 pglogical 延伸模組建立的複寫槽,請登入每個資料庫並取得節點的名稱。查詢訂閱者節點時,您會在輸出中同時取得發佈者和訂閱者節點,如本範例所示。
SELECT * FROM pglogical.node;node_id | node_name ------------+------------------- 2182738256 | docs_lab_target 3410995529 | docs_lab_provider (2 rows)
您可以使用下列查詢,取得有關訂閱的詳細資訊。
SELECT sub_name,sub_slot_name,sub_target FROM pglogical.subscription;sub_name | sub_slot_name | sub_target ----------+--------------------------------+------------ docs_lab_subscription | pgl_labdb_docs_labcb4fa94_docs_lab3de412c | 2182738256 (1 row)
您現在可以捨棄訂閱,如下所示。
SELECT pglogical.drop_subscription(subscription_name := 'docs_lab_subscription');drop_subscription ------------------- 1 (1 row)
捨棄訂閱之後,您可以刪除節點。
SELECT pglogical.drop_node(node_name := 'docs-lab-subscriber');drop_node ----------- t (1 row)
您可以驗證節點是否不再存在,如下所示。
SELECT * FROM pglogical.node;node_id | node_name ---------+----------- (0 rows)