이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 53.4. 사설 토토 복제 프로토콜버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

46.3. 토토 사이트 복제 규약

스트리밍 복제를 시작하기 위해 프런트엔드는 다음을 보냅니다.복제9600_9886

IDENTIFY_SYSTEM

서버가 자신을 식별하도록 요청합니다. 서버 응답 두 개의 행을 포함하는 단일 행의 결과 세트 전지:

시스템ID

다음을 식별하는 고유 시스템 식별자입니다. 무리. 베이스를 확인하는 데 사용할 수 있습니다. 대기를 초기화하는 데 사용된 백업은 동일한 클러스터.

타임라인

현재 타임라인ID. 또한 다음을 확인하는 데 유용합니다. 대기는 마스터와 일치합니다.

START_REPLICATIONXXX/XXX

WAL에서 시작하여 WAL 토토 사이트을 시작하도록 서버에 지시합니다. 위치XXX/XXX. 서버는 다음과 같이 응답할 수 있습니다. 오류(예: WAL의 요청된 섹션이 이미 있는 경우 재활용되었습니다. 성공하면 서버는 다음과 같이 응답합니다. CopyOutResponse 메시지를 보낸 후 WAL을 스트리밍하기 시작합니다. 프론트엔드. WAL은 다음 시점까지 계속 스트리밍됩니다. 연결이 끊어졌습니다. 더 이상의 명령은 없습니다 받아들여졌습니다.

WAL 데이터는 일련의 CopyData 메시지로 전송됩니다. (이것 다른 정보가 혼합될 수 있도록 허용합니다. 특히 서버는 다음과 같은 경우 ErrorResponse 메시지를 보낼 수 있습니다. 스트리밍을 시작한 후 오류가 발생했습니다.) 각 CopyData 메시지의 페이로드는 다음 형식을 따릅니다.

XLogData (B)
바이트1('w')

메시지를 WAL 데이터로 식별합니다.

바이트8

WAL 데이터의 시작점입니다. XLogRecPtr 형식으로 제공되는 메시지입니다.

바이트8

제공된 서버의 현재 WAL 끝 XLogRecPtr 형식으로.

바이트8

당시 서버의 시스템 시계 TimestampTz 형식으로 제공되는 전송입니다.

바이트n

WAL 데이터 스트림의 섹션.

단일 WAL 레코드는 두 개의 CopyData로 분할되지 않습니다. 메시지. WAL 레코드가 WAL 페이지 경계를 넘을 때, 따라서 이미 연속 레코드를 사용하여 분할되었습니다. 페이지 경계에서 분할될 수 있습니다. 즉, 첫 번째 주요 WAL 레코드와 그 연속 레코드는 다른 CopyData 메시지로 전송되었습니다.

WAL 데이터 내의 모든 필드와 위에서 설명한 헤더는 보내는 서버의 헤더에 있을 것입니다. 기본 형식. 엔디안과 형식 타임스탬프는 수신자가 없으면 예측할 수 없습니다. 보낸 사람의 시스템 식별자가 해당 시스템 식별자와 일치하는지 확인했습니다. 소유하다pg_control내용.

WAL 발신자 프로세스가 정상적으로 종료된 경우( postmaster shutdown), CommandComplete를 보냅니다. 나가기 전 메시지. 이는 다음 기간 동안에는 발생하지 않을 수 있습니다. 물론 비정상적으로 종료됩니다.