이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 47.8. 논리 범퍼카 토토 대한 동기 복제 지원버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

47.9. 논리적 디코딩을 위한 동기식 복제 지원#

47.9.1. 개요#

토토 결과적 디코딩을 사용하여 빌드할 수 있습니다.동기 복제동기 복제와 동일한 사용자 인터페이스를 사용하는 솔루션스트리밍 복제. 이를 위해 스트리밍 복제 인터페이스(참조토토 꽁 머니 : 문서 : 개발 : 47.3. 스트리밍 복제 프로토콜 인터페이스)는 데이터를 스트리밍하는 데 사용해야 합니다. 클라이언트는 보내야 합니다대기 상태 업데이트(F)(참조PostgreSQL : 문서 : 개발 : 54.4. 토토 꽁 머니 복제 프로토콜) 메시지는 스트리밍 복제 클라이언트와 같습니다.

참고

논리적 디코딩을 통해 변경 사항을 수신하는 동기 복제본은 단일 데이터베이스 범위에서 작동합니다. 그와 반대로,synchronous_standby_names현재 서버 전체에 적용됩니다. 이는 둘 이상의 데이터베이스가 적극적으로 사용되는 경우 이 기술이 제대로 작동하지 않음을 의미합니다.

47.9.2. 주의사항#

동기 복제 설정에서 트랜잭션이 [사용자] 카탈로그 테이블을 독점적으로 잠근 경우 교착 상태가 발생할 수 있습니다. 참조섹션 47.7.2사용자 카탈로그 테이블에 대한 정보. 이는 트랜잭션의 논리적 디코딩이 카탈로그 테이블에 액세스하기 위해 잠길 수 있기 때문입니다. 이를 방지하려면 사용자는 [사용자] 카탈로그 테이블에 대한 배타적 잠금을 삼가해야 합니다. 이는 다음과 같은 방법으로 발생할 수 있습니다.

  • 명시적인 발행잠금켜짐pg_class거래에서.

  • 수행클러스터켜짐pg_class거래에서.

  • 거래 준비이후잠금명령 켜기pg_class2단계 트랜잭션의 토토 결과적 디코딩을 허용합니다.

  • 거래 준비이후클러스터명령 켜짐pg_trigger그리고 2단계 트랜잭션의 토토 결과적 디코딩을 허용합니다. 게시된 테이블에 트리거가 있는 경우에만 교착 상태가 발생합니다.

  • 실행 중잘라내기트랜잭션의 [사용자] 카탈로그 테이블에.

이러한 명령은 위에 나열된 시스템 카탈로그 테이블뿐만 아니라 다른 카탈로그 테이블에도 교착 상태를 일으킬 수 있습니다.