토토 결과적 디코딩을 사용하여 빌드할 수 있습니다.동기 복제동기 복제와 동일한 사용자 인터페이스를 사용하는 솔루션스트리밍 복제. 이를 위해 스트리밍 복제 인터페이스(참조토토 꽁 머니 : 문서 : 개발 : 47.3. 스트리밍 복제 프로토콜 인터페이스)는 데이터를 스트리밍하는 데 사용해야 합니다. 클라이언트는 보내야 합니다대기 상태 업데이트(F)(참조PostgreSQL : 문서 : 개발 : 54.4. 토토 꽁 머니 복제 프로토콜) 메시지는 스트리밍 복제 클라이언트와 같습니다.
논리적 디코딩을 통해 변경 사항을 수신하는 동기 복제본은 단일 데이터베이스 범위에서 작동합니다. 그와 반대로,synchronous_standby_names현재 서버 전체에 적용됩니다. 이는 둘 이상의 데이터베이스가 적극적으로 사용되는 경우 이 기술이 제대로 작동하지 않음을 의미합니다.
동기 복제 설정에서 트랜잭션이 [사용자] 카탈로그 테이블을 독점적으로 잠근 경우 교착 상태가 발생할 수 있습니다. 참조섹션 47.7.2사용자 카탈로그 테이블에 대한 정보. 이는 트랜잭션의 논리적 디코딩이 카탈로그 테이블에 액세스하기 위해 잠길 수 있기 때문입니다. 이를 방지하려면 사용자는 [사용자] 카탈로그 테이블에 대한 배타적 잠금을 삼가해야 합니다. 이는 다음과 같은 방법으로 발생할 수 있습니다.
명시적인 발행잠금켜짐pg_class거래에서.
수행클러스터켜짐pg_class거래에서.
거래 준비이후잠금명령 켜기pg_class2단계 트랜잭션의 토토 결과적 디코딩을 허용합니다.
거래 준비이후클러스터명령 켜짐pg_trigger그리고 2단계 트랜잭션의 토토 결과적 디코딩을 허용합니다. 게시된 테이블에 트리거가 있는 경우에만 교착 상태가 발생합니다.
실행 중잘라내기트랜잭션의 [사용자] 카탈로그 테이블에.
이러한 명령은 위에 나열된 시스템 카탈로그 테이블뿐만 아니라 다른 카탈로그 테이블에도 교착 상태를 일으킬 수 있습니다.