논리 토토 베이는 게시자 데이터베이스에서 데이터의 스냅 샷을 복사하여 시작합니다. 일단 완료되면 게시자의 변경 사항은 실시간으로 발생할 때 가입자에게 전송됩니다. 가입자는 단일 구독 내의 간행물에 대해 트랜잭션 일관성이 보장되도록 게시자에게 커밋 된 순서대로 데이터를 적용합니다..
논리 토토 베이는 물리적 스트리밍 토토 베이와 유사한 아키텍처로 구축되었습니다 (참조섹션 27.2.5). 에 의해 구현됩니다.Walsender
and적용
프로세스. Walsender 프로세스가 논리적 디코딩을 시작합니다 ( 설명PostgreSQL : 문서 : 16 : 49 장. 무지개 토토 디코딩) WAL의 표준 논리 디코딩 출력 플러그인 (를로드합니다.pgoutput
). 플러그인은 WAL에서 논리 토토 베이 프로토콜로 읽은 변경 사항을 변환합니다 (참조PostgreSQL : 문서 : 16 : 55.5. 논리 스트리밍 복제 토토)는 게시 사양에 따라 데이터를 필터링합니다. 그런 다음 스트리밍 토토 베이 프로토콜을 Apply Worker로 사용하여 데이터를 지속적으로 전송합니다.이 데이터는 데이터를 로컬 테이블에 매핑하고 수신대로 개별 변경 사항을 올바른 트랜잭션 순서로 적용합니다..
가입자 데이터베이스의 적용 프로세스는 항상 |Session_Replication_Role
설정토토 베이
. 이는 기본적으로 트리거 및 규칙이 가입자에게 해고되지 않음을 의미합니다. 사용자는 선택적으로를 사용하여 테이블에서 트리거 및 규칙을 활성화하도록 선택할 수 있습니다.Alter Table
명령 및트리거 활성화
및규칙 활성화
클로즈.
논리적 토토 베이 적용 프로세스는 현재 명령문 트리거가 아닌 행 트리거 만 해고됩니다. 그러나 초기 테이블 동기화는 a처럼 구현됩니다.copy
명령을 통해 행과 명령문 트리거를 모두 발사합니다.삽입
.
기존 가입 테이블의 초기 데이터는 스냅 샷을 찍고 특별한 종류의 적용 프로세스의 병렬 인스턴스로 복사합니다. 이 프로세스는 자체 토토 베이 슬롯을 생성하고 기존 데이터를 복사합니다. 사본이 완료 되 자마자 테이블 내용은 다른 백엔드로 표시됩니다. 기존 데이터가 복사되면 작업자는 동기화 모드로 들어가서 표준 논리적 토토 베이를 사용하여 초기 데이터 사본 중에 발생한 변경 사항을 스트리밍하여 테이블이 메인 적용 프로세스와 동기화 된 상태로 올라갑니다. 이 동기화 단계에서 변경 사항은 출판사에서 발생한 것과 동일한 순서로 적용되고 커밋됩니다. 동기화가 완료되면, 테이블의 토토 베이 제어는 토토 베이가 정상적으로 계속되는 메인 적용 프로세스로 다시 제공됩니다.
출판물게시
매개 변수는 DML 작업이 토토 베이 할 내용에만 영향을 미칩니다. 기존 테이블 데이터를 복사 할 때 초기 데이터 동기화는이 매개 변수를 고려하지 않습니다.
문서에 올바른 것이 없으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면