RDS for PostgreSQL용 논리적 복제 슬롯 관리 - Amazon Relational Database Service

RDS for PostgreSQL용 논리적 복제 슬롯 관리

논리적 복제 시나리오에서 게시자 노드 역할을 하는 RDS for PostgreSQL DB 인스턴스의 메이저 버전 업그레이드를 수행하려면, 먼저 인스턴스에서 복제 슬롯을 삭제해야 합니다. 메이저 버전 업그레이드 사전 점검 프로세스에서는 업그레이드를 진행하려면 슬롯을 삭제해야 한다는 메시지가 표시됩니다.

RDS for 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)