30.2. 신청

a구독는 논리적 복제의 다운 스트림 측면입니다. 구독이 정의 된 노드를라고합니다.가입자. 구독은 구독하고자하는 다른 데이터베이스 및 출판물 세트 (하나 이상)에 대한 연결을 정의합니다.

가입자 데이터베이스는 다른 PostgreSQL 인스턴스와 동일한 방식으로 작동하며 자체 출판물을 정의하여 다른 데이터베이스의 게시자로 사용할 수 있습니다.

가입자 노드에는 원하는 경우 여러 개의 구독이있을 수 있습니다. 단일 게시자-구독자 쌍 사이의 여러 구독을 정의 할 수 있습니다. 구독 된 출판물 객체가 겹치지 않도록주의해야합니다.

각 구독은 하나의 복제 슬롯을 통해 변경 사항을받습니다 (참조섹션 26.2.6). 기존 테이블 데이터의 초기 데이터 동기화에는 추가 임시 복제 슬롯이 필요할 수 있습니다.

논리적 복제 구독은 동기 복제의 대기가 될 수 있습니다 (참조섹션 26.2.8). 대기 이름은 기본적으로 구독 이름입니다. 대체 이름은로 지정할 수 있습니다.application_name구독의 연결 정보에서.

구독은 |pg_dump현재 사용자가 슈퍼 사용자 인 경우. 그렇지 않으면 경고가 작성되고 구독이 건너 뜁니다. 비 슈퍼 사용자가에서 모든 구독 정보를 읽을 수 없기 때문입니다.pg_subscription카탈로그

구독은를 사용하여 추가됩니다.구독 생성|구독 변경명령 및 사용을 제거했습니다삭제 구독.

구독이 삭제되어 재생성되면 동기화 정보가 손실됩니다. 이것은 데이터가 나중에 재 동기화되어야 함을 의미합니다.

스키마 정의는 복제되지 않았으며 게시 된 테이블은 가입자에게 있어야합니다. 일반 테이블 만 복제의 대상 일 수 있습니다. 예를 들어,보기로 복제 할 수 없습니다.

테이블은 완전한 자격을 갖춘 테이블 이름을 사용하여 게시자와 가입자간에 일치합니다. 가입자의 다른 이름으로 표시된 테이블에 대한 복제는 지원되지 않습니다.

테이블의 열은 이름과 일치합니다. 가입자 테이블의 열 순서는 게시자의 열 순서와 일치 할 필요가 없습니다. 데이터의 데이터 유형은 데이터의 텍스트 표현을 대상 유형으로 변환 할 수있는 한 일치 할 필요가 없습니다. 예를 들어, 유형 열에서 복제 할 수 있습니다정수유형 열bigint. 대상 테이블에는 게시 된 테이블에서 제공되지 않은 추가 열이있을 수 있습니다. 이러한 열은 대상 테이블의 정의에 지정된대로 기본값으로 채워집니다.

30.2.1. 복제 슬롯 관리

앞에서 언급했듯이 각 (활성) 구독은 원격 (게시) 측면의 복제 슬롯으로부터 변경 사항을 수신합니다. 일반적으로 원격 복제 슬롯은 구독을 사용하여 생성 될 때 자동으로 생성됩니다.구독 생성그리고 구독을 사용하여 삭제하면 자동으로 삭제됩니다삭제 구독. 그러나 일부 상황에서는 구독 및 기본 복제 슬롯을 별도로 조작하는 것이 유용하거나 필요할 수 있습니다. 몇 가지 시나리오는 다음과 같습니다.

  • 구독을 만들 때 복제 슬롯이 이미 존재합니다. 이 경우 구독은를 사용하여 만들 수 있습니다.create_slot = false기존 슬롯과 연결하는 옵션.

  • 구독을 만들 때 원격 호스트는 도달 할 수 없거나 불분명 한 상태입니다. 이 경우 구독은를 사용하여 만들 수 있습니다.connect = false옵션. 그런 다음 원격 호스트는 전혀 연락하지 않습니다. 이게pg_dump용도. 구독을 활성화하기 전에 원격 복제 슬롯이 수동으로 생성되어야합니다.

  • 구독을 삭제하면 복제 슬롯을 유지해야합니다. 이는 가입자 데이터베이스가 다른 호스트로 이동하여 거기에서 활성화 될 때 유용 할 수 있습니다. 이 경우를 사용하여 구독에서 슬롯을 분리하십시오.구독구독을 삭제하기 전에.

  • 구독을 삭제하면 원격 호스트에 연락 할 수 없습니다. 이 경우를 사용하여 구독에서 슬롯을 분리하십시오.구독 변경구독을 삭제하기 전에. 원격 데이터베이스 인스턴스가 더 이상 존재하지 않으면 추가 작업이 필요하지 않습니다. 그러나 원격 데이터베이스 인스턴스를 연락 할 수없는 경우 복제 슬롯을 수동으로 삭제해야합니다. 그렇지 않으면 WAL을 계속 예약하고 결국 디스크가 채워질 수 있습니다. 이러한 경우는 신중하게 조사해야합니다.

정정 제출

문서에 올바른 것이 없다면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면