Aurora PostgreSQL용 논리적 복제 슬롯 관리
논리적 복제 시나리오에서 게시자 노드 역할을 하는 Aurora PostgreSQL DB 클러스터의 라이터 인스턴스 의 메이저 버전 업그레이드를 수행하려면, 먼저 인스턴스에서 복제 슬롯을 삭제해야 합니다. 메이저 버전 업그레이드 사전 점검 프로세스에서는 업그레이드를 진행하려면 슬롯을 삭제해야 한다는 메시지가 표시됩니다.
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)