개발 버전 :Devel
지원되지 않은 버전 :12 / 11 / 10 / 9.6 / 9.5
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대한 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 48 장. 토토 베이 진행 추적버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

49 장 윈 토토 진행 추적

윈 토토 기원은 논리적 윈 토토 솔루션을보다 쉽게 ​​구현할 수 있도록입니다.논리 디코딩. 그들은 두 가지 일반적인 문제에 대한 해결책을 제공합니다.

  • 윈 토토 진행을 안전하게 추적하는 방법

  • 행의 원점에 따라 윈 토토 동작을 변경하는 방법; 예를 들어, 양방향 윈 토토 설정에서 루프를 방지하기 위해

윈 토토 기원에는 이름과 OID의 두 가지 속성 만 있습니다. 시스템 전반의 원점을 지칭하는 데 사용해야 할 이름은 자유 형식입니다텍스트. 다른 윈 토토 솔루션에 의해 생성 된 윈 토토 기원 사이의 충돌을 일으키는 방식으로 사용되어야합니다.

기능을 사용하여 윈 토토 기원을 생성 할 수 있습니다pg_replication_origin_create (); 삭제 사용pg_replication_origin_drop (); 그리고에서 본pg_replication_origin시스템 카탈로그.

윈 토토 솔루션을 구축하는 데있어 사소한 부분은 재생 진행을 안전하게 추적하는 것입니다. 적용 프로세스 또는 전체 클러스터가 죽으면 데이터가 성공적으로 윈 토토 된 위치를 찾아야합니다.

윈 토토 원점 인프라 사용 세션은 원격 노드에서 재생되는 것으로 표시 될 수 있습니다 (사용pg_replication_origin_session_setup ()함수). 또한LSN및 모든 소스 트랜잭션의 커밋 타임 스탬프는 트랜잭션별로 구성 할 수 있습니다.PG_REPLICATION_ORIGIN_XACT_SETUP (). 이 작업이 완료되면 윈 토토 진행 상황은 충돌 안전 방식으로 지속됩니다.pg_replication_origin_status보기. 예를 들어 윈 토토를 재개 할 때 개별 원산지의 진행 상황은를 사용하여 획득 할 수 있습니다.pg_replication_origin_progress ()원산지 또는pg_replication_origin_session_progress ()현재 세션에서 구성된 원점의 경우

윈 토토 토폴로지에서 정확히 하나의 시스템에서 다른 시스템으로 윈 토토하는 것보다 더 복잡합니다. 또 다른 문제는 다시 재생 된 행을 다시 윈 토토하는 것을 피하기 어려울 수 있습니다. 이로 인해 윈 토토 및 비 효율성의주기가 모두 이어질 수 있습니다.섹션 48.6) 세션에 의해 생성 된 것은 생성 세션의 윈 토토 원점으로 태그됩니다. 이를 통해 출력 플러그인에서 다르게 처리 할 수 ​​있습니다. 예를 들어 로컬 오발 행을 제외한 모든 행을 무시합니다.filter_by_origin_cb콜백을 사용하여 소스를 기반으로 논리적 디코딩 변경 스트림을 필터링 할 수 있습니다. 덜 유연하지만 해당 콜백을 통한 필터링은 출력 플러그인에서 수행하는 것보다 훨씬 더 효율적입니다.