이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 53.9. 논리 복제 토토 베이 형식버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

52.9. 논리 복제 토토 캔 형식

이 섹션에서는 각 논리적 복제 토토 캔의 자세한 형식에 대해 설명합니다. 이 토토 캔는 복제 슬롯 SQL 인터페이스에 의해 반환되거나 Walsender가 전송합니다. Walsender의 경우에 설명 된대로 복제 프로토콜 WAL 토토 캔 내부에 캡슐화됩니다.PostgreSQL : 문서 : 12 : 52.4. 스포츠 토토 복제 프로토콜일반적으로 물리적 복제와 동일한 토토 캔 흐름을 준수합니다.

시작
byte1 ( 'b')

메시지를 시작 메시지로 식별합니다.

int64

거래의 최종 LSN.

int64

트랜잭션의 타임 스탬프를 커밋합니다. 값은 PostgreSQL Epoch (2000-01-01) 이후 마이크로 초입니다.

int32

거래의 xid.

커밋
byte1 ( 'c')

메시지를 커밋 메시지로 식별합니다.

int8

플래그; 현재 사용하지 않음 (0이어야합니다).

int64

커밋의 LSN

int64

거래의 끝 LSN.

int64

트랜잭션의 타임 스탬프를 커밋합니다. 값은 PostgreSQL Epoch (2000-01-01) 이후 마이크로 초입니다.

원산지
byte1 ( 'O')

토토 캔를 원점 토토 캔로 식별합니다.

int64

Origin 서버에서 커밋의 LSN.

String

원점의 이름.

단일 트랜잭션 내에 여러 가지 원점 토토 캔가있을 수 있습니다.

관계
byte1 ( 'r')

메시지를 관계 메시지로 식별합니다.

int32

관계의 ID.

String

네임 스페이스 (empty string forPG_CATALOG).

String

관계 이름.

int8

관계에 대한 복제 아이덴티티 설정 (동일ReleplidentinPG_CLASS).

int16

열 수.

다음, 다음 메시지 부분이 각 열에 나타납니다 (생성 열 제외) :

int8

열에 대한 플래그. 현재 플래그가없는 경우 0이거나 열을 키의 일부로 표시 할 수 있습니다..

13327_13335

열의 이름.

int32

열 데이터 유형의 ID.

int32

열의 수정 자를 입력하십시오 (atttypmod).

타입
byte1 ( 'y')

토토 캔를 유형 토토 캔로 식별합니다.

int32

데이터 유형의 ID.

String

네임 스페이스 (empty string forPG_CATALOG).

String

​​데이터 유형의 이름.

삽입
14722_14734

메시지를 삽입 메시지로 식별합니다.

int32

관계 메시지에서 ID에 해당하는 관계의 ID.

byte1 ( 'n')

다음 tupledata 메시지를 새로운 튜플로 식별합니다.

tupledata

새로운 튜플의 내용을 나타내는 TupleData 메시지 부분.

업데이트
byte1 ( 'u')

메시지를 업데이트 메시지로 식별합니다.

15739_15746

관계 메시지에서 ID에 해당하는 관계의 ID.

byte1 ( 'k')

다음 tupledata submessage를 키로 식별합니다. 이 필드는 선택 사항이며 업데이트가 복제 아이덴티티 인덱스의 일부인 열에서 데이터를 변경 한 경우에만 존재합니다.

byte1 ( 'O')

다음 tupledata submessage를 오래된 튜플로 식별합니다. 이 필드는 선택 사항이며 업데이트가 발생한 테이블이 복제 아이덴티티가 전체로 설정된 경우에만 존재합니다.

tupledata

구식 튜플 또는 기본 키의 내용을 나타내는 TupleData 메시지 부분. 이전 'O'또는 'k'부분이있는 경우에만 존재합니다.

byte1 ( 'n')

다음 tupledata 메시지를 새로운 튜플로 식별합니다.

tupledata

새로운 튜플의 내용을 나타내는 TupleData 메시지 부분.

업데이트 메시지에는 'k'메시지 부품 또는 'o'메시지 부품이 포함될 수 있지만 둘 다 결코 포함 할 수 있지만 두 가지 모두는 포함되지 않습니다.

삭제
byte1 ( 'd')

메시지를 삭제 메시지로 식별합니다.

int32

관계 메시지에서 ID에 해당하는 관계의 ID.

byte1 ( 'k')

다음 tupledata submessage를 키로 식별합니다. 삭제가 발생한 테이블이 인덱스를 복제 아이덴티티로 사용하는 경우이 필드가 있습니다.

byte1 ( 'O')

다음 tupledata 메시지를 오래된 튜플로 식별합니다. 삭제가 발생한 테이블이 복제 아이덴티티가 전체적으로 설정되어 있으면이 필드가 있습니다.

tupledata

이전 필드에 따라 기존 튜플 또는 기본 키의 내용을 나타내는 TupleData 메시지 부분.

18547_18653

Truncate
byte1 ( 't')

토토 캔를 잘린 토토 캔로 식별합니다.

int32

관계 수

int8

옵션 비트 forTruncate: 1 for캐스케이드, 2 for신분을 다시 시작합니다

int32

19435_19546

다음 메시지 부분은 위의 메시지에 의해 공유됩니다.

tupledata
int16

열 수.

다음, 각 열에 다음 부종 중 하나가 나타납니다 (생성 열 제외) :

byte1 ( 'n')

데이터를 null 값으로 식별합니다.

또는

byte1 ( 'u')

변경되지 않은 구운 값을 식별합니다 (실제 값은 전송되지 않음).

또는

byte1 ( 't')

데이터를 텍스트 형식 값으로 식별합니다.

int32

열 값의 길이

바이트n

텍스트 형식의 열의 값. (향후 릴리스는 추가 형식을 지원할 수 있습니다.)n위의 길이입니다.