이 섹션에서는 각 논리적 복제 토토 캔의 자세한 형식을 설명합니다. 이러한 토토 캔는 복제 슬롯 SQL 인터페이스에 의해 반환되거나 walsender에 의해 전송됩니다. Walsender의 경우에 설명된 대로 복제 프로토콜 WAL 토토 캔 내에 캡슐화됩니다.PostgreSQL : 문서 : 12 : 52.4. 스포츠 토토 복제 프로토콜그리고 일반적으로 물리적 복제와 동일한 토토 캔 흐름을 따릅니다.
메시지를 시작 메시지로 식별합니다.
트랜잭션의 최종 LSN입니다.
트랜잭션의 커밋 타임스탬프. 값은 PostgreSQL epoch(2000-01-01) 이후의 마이크로초 단위입니다.
거래의 Xid.
메시지를 커밋 메시지로 식별합니다.
플래그; 현재 사용되지 않습니다(0이어야 합니다).
커밋의 LSN.
트랜잭션의 끝 LSN입니다.
트랜잭션의 타임스탬프를 커밋합니다. 값은 PostgreSQL epoch(2000-01-01) 이후의 마이크로초 단위입니다.
토토 캔를 원본 토토 캔로 식별합니다.
원본 서버의 커밋 LSN.
원산지의 이름.
단일 트랜잭션 내에 여러 개의 Origin 토토 캔가 있을 수 있다는 점에 유의하세요.
메시지를 관계 메시지로 식별합니다.
관계의 ID.
네임스페이스(빈 문자열pg_catalog).
관계 이름.
관계에 대한 복제 ID 설정(동일상대적에pg_class).
열의 수.
다음으로, 각 열에 대해 다음 메시지 부분이 나타납니다(생성된 열 제외):
열에 대한 플래그. 현재 플래그가 없는 경우 0이거나 열을 키의 일부로 표시하는 경우 1일 수 있습니다.
열의 이름.
열 데이터 유형의 ID.
열의 유형 수정자(atttypmod).
메시지를 유형 메시지로 식별합니다.
데이터 유형의 ID.
네임스페이스(빈 문자열pg_catalog).
데이터 유형의 이름.
메시지를 삽입 메시지로 식별합니다.
관계 메시지의 ID에 해당하는 관계의 ID.
다음 TupleData 메시지를 새 튜플로 식별합니다.
새 튜플의 내용을 나타내는 TupleData 토토 캔 부분.
메시지를 업데이트 메시지로 식별합니다.
관계 메시지의 ID에 해당하는 관계의 ID.
다음 TupleData 하위 메시지를 키로 식별합니다. 이 필드는 선택 사항이며 업데이트로 인해 REPLICA IDENTITY 인덱스의 일부인 열에서 데이터가 변경된 경우에만 존재합니다.
다음 TupleData 하위 메시지를 이전 튜플로 식별합니다. 이 필드는 선택사항이며 업데이트가 발생한 테이블의 REPLICA IDENTITY가 FULL로 설정된 경우에만 존재합니다.
이전 튜플 또는 기본 키의 내용을 나타내는 TupleData 메시지 부분. 이전 'O' 또는 'K' 부분이 있는 경우에만 존재합니다.
다음 TupleData 메시지를 새 튜플로 식별합니다.
새 튜플의 내용을 나타내는 TupleData 토토 캔 부분.
업데이트 메시지에는 'K' 메시지 부분이나 'O' 메시지 부분이 포함되거나 둘 다 포함되지 않을 수 있지만 둘 다 포함될 수는 없습니다.
메시지를 삭제 메시지로 식별합니다.
관계 메시지의 ID에 해당하는 관계의 ID.
다음 TupleData 하위 메시지를 키로 식별합니다. 이 필드는 삭제가 발생한 테이블이 REPLICA IDENTITY로 인덱스를 사용하는 경우 존재합니다.
다음 TupleData 메시지를 이전 튜플로 식별합니다. 삭제가 발생한 테이블의 REPLICA IDENTITY가 FULL로 설정된 경우 이 필드가 존재합니다.
이전 필드에 따라 이전 튜플 또는 기본 키의 내용을 나타내는 TupleData 메시지 부분.
삭제 메시지에는 'K' 메시지 부분이나 'O' 메시지 부분이 포함될 수 있지만 둘 다 포함될 수는 없습니다.
토토 캔를 잘린 토토 캔로 식별합니다.
관계 수
다음에 대한 옵션 비트잘라내기: 1 for캐스케이드, 2 for재시작 ID
관계 메시지의 ID에 해당하는 관계의 ID입니다. 이 필드는 각 관계에 대해 반복됩니다.
다음 메시지 부분은 위 메시지에 의해 공유됩니다.
열 수.
다음으로, 각 열(생성된 열 제외)에 대해 다음 하위 메시지 중 하나가 나타납니다.
데이터를 NULL 값으로 식별합니다.
또는
변경되지 않은 TOAST 값을 식별합니다(실제 값은 전송되지 않음).
또는
데이터를 텍스트 형식의 값으로 식별합니다.
열 값의 길이.
n텍스트 형식의 열 값. (향후 릴리스에서는 추가 형식을 지원할 수 있습니다.)n위의 길이입니다.