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

52.9. 논리 복제 토토 캔 형식

이 섹션에서는 각 논리적 복제 토토 캔의 자세한 형식에 대해 설명합니다. 이 토토 캔는 복제 슬롯 SQL 인터페이스에 의해 반환되거나 Walsender가 전송합니다. Walsender의 경우에 설명 된대로 복제 프로토콜 WAL 토토 캔 내부에 캡슐화됩니다.PostgreSQL : 문서 : 10 : 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

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

int16

열 수.

다음, 각 열에 다음 메시지 부분이 나타납니다.

int8

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

String

열의 이름.

int32

열 데이터 유형의 ID.

int32

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

타입
byte1 ( 'y')

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

int32

데이터 유형의 ID.

String

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

String

데이터 유형의 이름.

삽입
byte1 ( 'i')

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

int32

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

byte1 ( 'n')

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

tupledata

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

업데이트
byte1 ( 'u')

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

int32

관계 메시지에서 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 메시지 부분.

삭제 메시지에는 'k'메시지 부품 또는 'o'메시지 부분이 포함될 수 있지만 두 가지 모두는 포함되지 않습니다.

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

tupledata
int16

열 수.

다음, 각 열에 다음 부종 중 하나가 나타납니다.

byte1 ( 'n')

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

또는

byte1 ( 'u')

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

또는

byte1 ( 't')

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

int32

열 값의 길이.

바이트n

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