이 섹션에서는 각 논리적 복제 토토의 자세한 형식에 대해 설명합니다. 이 토토는 복제 슬롯 SQL 인터페이스에 의해 반환되거나 Walsender가 전송합니다. Walsender의 경우에 설명 된대로 복제 프로토콜 WAL 토토 내부에 캡슐화됩니다.PostgreSQL : 문서 : 14 : 53.4. 토토 커뮤니티 복제 프로토콜일반적으로 물리적 복제와 동일한 토토 흐름을 준수합니다.
토토를 시작 토토로 식별합니다.
거래의 최종 LSN.
트랜잭션의 타임 스탬프를 커밋하십시오. 값은 PostgreSQL Epoch (2000-01-01) 이후 마이크로 초입니다.
거래의 xid.
토토를 논리적 디코딩 토토로 식별합니다.
트랜잭션의 xid (스트리밍 된 트랜잭션에 대해서만). 이 필드는 프로토콜 버전 2 이후로 제공됩니다.
플래그; 논리적 디코딩 토토가 트랜잭션 인 경우 플래그가 없거나 1의 경우 0 중 하나입니다.
논리적 디코딩 토토의 LSN.
논리적 디코딩 토토의 접두사.
내용의 길이.
n
논리적 디코딩 토토의 내용.
토토를 커밋 토토로 식별합니다.
플래그; 현재 사용하지 않음 (0이어야합니다).
커밋의 LSN.
거래의 끝 LSN.
트랜잭션의 타임 스탬프를 커밋합니다. 값은 PostgreSQL Epoch (2000-01-01) 이후 마이크로 초입니다.
토토를 원점 토토로 식별합니다.
Origin 서버에서 커밋의 LSN.
원점의 이름.
단일 트랜잭션 내에 여러 개의 원점 토토가있을 수 있습니다.
토토를 관계 토토로 식별합니다.
트랜잭션의 xid (스트리밍 된 트랜잭션에 대해서만). 이 필드는 프로토콜 버전 2 이후로 제공됩니다.
관계의 ID.
네임 스페이스 (empty string forPG_CATALOG
).
관계 이름.
관계에 대한 복제 아이덴티티 설정 (동일Releplident
inPG_CLASS
).
열 수.
다음, 다음 토토 부분이 각 열에 나타납니다 (생성 열 제외) :
열에 대한 플래그. 현재 플래그가없는 경우 0이거나 열을 키의 일부로 표시 할 수 있습니다..
열 이름.
열 데이터 유형의 ID.
열의 수정 자를 입력하십시오 (atttypmod
).
토토를 유형 토토로 식별합니다.
트랜잭션의 xid (스트리밍 된 트랜잭션에 대해서만). 이 필드는 프로토콜 버전 2 이후로 제공됩니다.
데이터 유형의 ID.
네임 스페이스 (empty string forPG_CATALOG
).
데이터 유형의 이름.
토토를 삽입 토토로 식별합니다.
트랜잭션의 xid (스트리밍 된 트랜잭션에 대해서만). 이 필드는 프로토콜 버전 2 이후로 제공됩니다.
관계 토토에서 ID에 해당하는 관계의 ID.
다음 tupledata 토토를 새로운 튜플로 식별합니다.
새로운 튜플의 내용을 나타내는 TupleData 토토 부분.
토토를 업데이트 토토로 식별합니다.
트랜잭션의 xid (스트리밍 된 트랜잭션에 대해서만). 이 필드는 프로토콜 버전 2 이후로 제공됩니다.
관계 토토에서 ID에 해당하는 관계의 ID.
다음 tupledata submessage를 키로 식별합니다. 이 필드는 선택 사항이며 업데이트가 복제 아이덴티티 인덱스의 일부인 열에서 데이터를 변경 한 경우에만 존재합니다.
다음 tupledata submessage를 오래된 튜플로 식별합니다. 이 필드는 선택 사항이며 업데이트가 발생한 테이블이 복제 아이덴티티가 전체로 설정된 경우에만 존재합니다.
구식 튜플 또는 기본 키의 내용을 나타내는 TupleData 토토 부분. 이전 'O'또는 'k'부분이있는 경우에만 존재합니다.
다음 tupledata 토토를 새로운 튜플로 식별합니다.
새로운 튜플의 내용을 나타내는 TupleData 토토 부분.
업데이트 토토에는 'k'토토 부품 또는 'o'토토 부품이 포함될 수 있지만 두 가지 모두는 포함 할 수 있습니다.
토토를 삭제 토토로 식별합니다.
트랜잭션의 xid (스트리밍 된 트랜잭션에 대해서만). 이 필드는 프로토콜 버전 2 이후로 제공됩니다.
관계 토토에서 ID에 해당하는 관계의 ID.
다음 tupledata submessage를 키로 식별합니다. 삭제가 발생한 테이블이 인덱스를 복제 아이덴티티로 사용하는 경우이 필드가 있습니다.
다음 tupledata 토토를 구식 튜플로 식별합니다. 삭제가 발생한 테이블이 복제 아이덴티티가 전체적으로 설정되어 있으면이 필드가 있습니다.
이전 필드에 따라 기존 튜플 또는 기본 키의 내용을 나타내는 TupleData 토토 부분.
삭제 토토에는 'k'토토 부품 또는 'o'토토 부분이 포함될 수 있지만 둘 다 결코 포함되지 않습니다.
토토를 잘린 토토로 식별합니다.
트랜잭션의 xid (스트리밍 된 트랜잭션에 대해서만). 이 필드는 프로토콜 버전 2 이후로 제공됩니다.
관계 수
옵션 비트 forTruncate
: 1 for캐스케이드
, 2 for신분을 다시 시작합니다
관계 토토에서 ID에 해당하는 관계의 ID. 이 필드는 각 관계에 대해 반복됩니다.
다음 토토 (스트림 시작, 스트림 정지, 스트림 커밋 및 스트림 abort)는 프로토콜 버전 2 이후에 사용할 수 있습니다.
토토를 스트림 시작 토토로 식별합니다.
거래의 xid.
1의 값은 이것이 xid의 첫 번째 스트림 세그먼트임을 나타냅니다. 0은 다른 스트림 세그먼트의 경우 0입니다.
토토를 스트림 중지 토토로 식별합니다.
토토를 스트림 커밋 토토로 식별합니다.
거래의 xid.
플래그; 현재 사용하지 않음 (0이어야합니다).
커밋의 LSN
거래의 끝 LSN.
트랜잭션의 타임 스탬프를 커밋합니다. 값은 PostgreSQL Epoch (2000-01-01) 이후 마이크로 초입니다.
토토를 스트림 중단 토토로 식별합니다.
거래의 xid.
xid subtransaction (최상위 거래에 대한 트랜잭션의 XID와 동일합니다).
다음 토토 부분은 위의 토토에서 공유됩니다.
열 수.
다음, 각 열에 다음 부종 중 하나가 나타납니다 (생성 열 제외) :
데이터를 null 값으로 식별합니다.
또는
변경되지 않은 구운 값을 식별합니다 (실제 값은 전송되지 않음).
또는
데이터를 텍스트 형식 값으로 식별합니다.
또는
데이터를 이진 형식의 값으로 식별합니다.
열 값의 길이.
n
이진 또는 텍스트 형식의 열 값. (이전 형식 바이트에 지정된대로).n
위의 길이입니다.
문서에 맞지 않는 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면