Postgresql 9.3.25 문서 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.3 : 토토 사이트 흐름 | 배트맨 토토 : 문서 : 9.3 : Frontend/백엔드 프로토콜 | 48 장. 프론트 엔드/백엔드 프로토콜 | 메이저 토토 사이트 : 문서 : 9.3 : 메시지 데이터 유형 |
토토 사이트 복제를 시작하려면 프론트 엔드가를 보냅니다.복제시작의 매개 변수 메시지. 이것은 백엔드가 Walsender 모드로 들어가도록 지시합니다. SQL 대신 소규모 복제 명령 세트를 발행 할 수 있습니다. 진술. Walsender에서는 간단한 쿼리 프로토콜 만 사용할 수 있습니다. 방법. Walsender 모드에서 수락 된 명령은 다음과 같습니다.
서버가 자체를 식별하도록 요청합니다. 서버는 a로 응답합니다 3 개의 필드를 포함하는 단일 행의 결과 세트 :
클러스터를 식별하는 고유 한 시스템 식별자. 이것은 할 수 있습니다 기본 백업이 초기화하는 데 사용되는지 확인하는 데 사용됩니다. 대기는 같은 클러스터에서 나왔습니다.
현재 타임 라인. 또한 대기인지 확인하는 데 유용합니다 마스터와 일치합니다.
현재 Xlog 플러시 위치. 알려진 위치를 얻는 데 유용합니다 스트리밍이 시작될 수있는 트랜잭션 로그.
서버가 타임 라인 기록 파일을 보내도록 요청합니다. 타임 라인tli. 서버는 a로 응답합니다 두 개의 필드를 포함하는 단일 행의 결과 세트 :
타임 라인 히스토리 파일의 파일 이름, 예 : 00000002.history.
타임 라인 기록 파일의 내용.
WAL에서 시작하여 서버가 토토 사이트 WAL을 시작하도록 지시합니다 위치xxx/xxx. 만약에타임 라인옵션이 지정되고 스트리밍이 시작됩니다 타임 라인tli; 그렇지 않으면 서버의 현재 타임 라인이 선택되었습니다. 서버는 오류 (예 : WAL의 요청 된 섹션이 이미있는 경우 재활용. 성공시 서버는 CopyBothResponse로 응답합니다 메시지를 보내고 WAL을 프론트 엔드로 스트리밍하기 시작합니다.
클라이언트가 최신이 아닌 타임 라인을 요청하는 경우 서버의 기록의 일부인 서버는 모든 요청 된 startpoint에서 시작하여 최대 서버가 다른 타임 라인으로 전환 한 지점. 만약 클라이언트는 오래된 타임 라인의 정확히 스트리밍을 요청하고 서버는 CommandComplete없이 즉시 응답합니다 복사 모드 입력.
최신이 아닌 타임 라인에서 모든 월을 스트리밍 한 후 하나는 서버가 복사 모드를 종료하여 스트리밍을 종료합니다. 언제 클라이언트는 복사 모드 인 서버를 종료하여이를 인정합니다. 하나의 행과 두 개의 열이있는 결과 세트를 보냅니다. 이 서버의 히스토리의 다음 타임 라인. 첫 번째 열은 다음 타임 라인의 ID이고 두 번째 열은 XLOG 위치입니다. 스위치가 발생한 곳. 일반적으로 스위치 위치가 끝입니다 스트리밍 된 WAL의 경우, 코너 케이스가 있습니다. 서버는 이전 타임 라인에서 일부 WAL을 보낼 수 있습니다. 홍보하기 전에 그 자체가 재생되었습니다. 마지막으로 서버가 전송됩니다 CommandComplete 메시지, 새 명령을 수락 할 준비가되었습니다.
WAL 데이터는 일련의 카피 데이터 메시지로 전송됩니다. (이것은 허용합니다 혼합 될 기타 정보; 특히 서버는 할 수 있습니다 실패가 발생하면 ErrorResponse 메시지를 보내십시오. 스트리밍 시작.) 각 카피 사다 메시지의 페이로드 클라이언트에 대한 서버에는 다음 중 하나의 메시지가 포함됩니다. 형식 :
메시지를 WAL 데이터로 식별합니다.
이 메시지에서 WAL 데이터의 시작점.
서버의 현재 월드 끝.
전송시 서버의 시스템 클럭 2000-01-01의 자정 이후 마이크로 초.
WAL 데이터 스트림의 섹션.
단일 WAL 레코드는 두 개의 Xlogdata 메시지에 대해 절대로 분할되지 않습니다. WAL 레코드가 WAL 페이지 경계를 가로 지르면 Continuation Records를 사용하여 이미 분할하면 페이지 경계. 다시 말해, 첫 번째 메인 월 레코드와 그 연속 레코드는 다른 xlogdata에서 보낼 수 있습니다 메시지.
메시지를 발신자 KeepAlive로 식별합니다.
서버에서 WAL의 현재 끝.
전송시 서버의 시스템 클럭 2000-01-01의 자정 이후 마이크로 초.
1은 클라이언트 가이 메시지에 즉시이 메시지에 응답해야 함을 의미합니다. 타임 아웃 연결을 피하기 위해 가능합니다. 0 그렇지 않으면.
수신 프로세스는 누구나 발신자에게 회신을 보낼 수 있습니다. 시간, 다음 메시지 형식 중 하나를 사용합니다 (또한 카피 데이터 메시지의 페이로드) :
메시지를 수신기 상태 업데이트로 식별합니다.
마지막 WAL 바이트 + 1의 위치는 대기에 디스크.
마지막 WAL 바이트 + 1의 위치는 디스크로 플러시됩니다. 대기.
마지막 WAL 바이트 + 1의 위치는 대기.
전송 당시 클라이언트의 시스템 시계 2000-01-01의 자정 이후 마이크로 초.
1 인 경우 클라이언트는 서버 에이 메시지에 응답하도록 요청합니다. 즉시. 이것은 서버를 핑하여 연결은 여전히 건강합니다.
메시지를 핫 스탠드 피드백 메시지로 식별합니다.
전송 당시 클라이언트의 시스템 시계 2000-01-01의 자정 이후 마이크로 초.
대기의 현재 Xmin. 대기가있는 경우 이것은 0 일 수 있습니다 핫 대기 피드백이 더 이상 없다는 알림을 보냅니다. 이 연결로 전송됩니다. 나중에 0이 아닌 메시지는 다시 재 구체화 될 수 있습니다 피드백 메커니즘.
대기의 현재 epoch.
서버에베이스 백업 스트리밍을 시작하도록 지시합니다. 그만큼 백업 전에 시스템이 백업 모드에 자동으로 설정됩니다. 시작되었고 백업이 완료되면 그 일에서 벗어납니다. 그만큼 다음 옵션이 허용됩니다.
백업의 레이블을 설정합니다. 아무것도 지정되지 않으면 백업 라벨베이스 백업사용됩니다. 그만큼 레이블에 대한 인용 규칙은 표준 SQL 문자열과 동일합니다. 와 함께Standard_Conforming_strings켜짐.
진행 보고서를 생성하는 데 필요한 정보 요청. 이것 각각의 헤더에서 대략적인 크기를 다시 보냅니다. 스트림을 따라 얼마나 멀리 떨어져 있는지 계산하는 데 사용할 수있는 테이블 스페이스 완료되었습니다. 이것은 모든 파일 크기를 한 번 열거하여 계산됩니다. 이전이 시작되기 전에 성능에 부정적인 영향 - 특히 첫 번째 데이터가 스트리밍되기 전에 더 오래. 데이터베이스 파일 이후 백업 중에 변경 될 수 있고 크기는 근사치이며 5 월 근사 시간과 실제 파일 보내기.
빠른 체크 포인트 요청.
백업에 필요한 WAL 세그먼트를 포함하십시오. 이것은 할 것입니다 시작과 중지 사이에 모든 파일을 포함시켜PG_XLOG기본 디렉토리의 디렉토리 타르 파일.
기본적으로 백업은 마지막으로 필요한 XLOG까지 대기합니다. 세그먼트가 보관되었거나 로그 아카이브가있는 경우 경고를 방출합니다. 활성화되지 않았습니다. 지정nowait비활성화 대기와 경고, 고객이 책임을 져야합니다. 필요한 로그를 사용할 수 있도록.
백업이 시작되면 서버는 먼저 2를 보내는 일반 결과 세트, 그 다음에 하나 이상의 저작권이 있습니다 결과.
첫 번째 일반 결과 세트에는 시작 위치가 포함됩니다. 두 개의 열이있는 단일 행으로 백업. 첫 번째 열 xlogrecptr 형식으로 주어진 시작 위치와 두 번째 열에는 해당 타임 라인 ID가 포함됩니다.
두 번째 일반 결과 세트에는 각 테이블 스페이스마다 하나의 행이 있습니다. 이 행의 필드는 다음과 같습니다.
테이블 스페이스의 OID, 또는NULLIF 기본 디렉토리입니다.
테이블 스페이스 디렉토리의 전체 경로 또는null기본 디렉토리 인 경우.
진행 보고서가있는 경우 테이블 스페이스의 대략적인 크기 요청되었다; 그렇지 않으면NULL.
두 번째 정규 결과 세트 이후 하나 이상의 저작권 결과는 PGDATA 용 및 추가마다 하나씩 발송됩니다. 이외의 테이블 스페이스pg_defaultandpg_global. 저작권의 데이터 결과는 TAR 형식입니다 (다음"Ustar Interchange Format"posix에 지정되었습니다 1003.1-2008 표준) 테이블 스페이스 내용의 덤프 표준에 명시된 두 개의 후행 블록은 다음과 같습니다. 생략. TAR 데이터가 완료되면 최종 일반 결과 백업의 WAL 엔드 위치가 포함 된 세트가 전송됩니다. 시작 위치와 같은 형식.
데이터 디렉토리 및 각 테이블 스페이스의 타르 아카이브 디렉토리에 모든 파일이 포함되어 있는지 여부에 관계없이 이다postgresql파일 또는 기타 동일한 디렉토리에 추가 된 파일. 제외 된 유일한 파일은 다음과 같습니다.
postmaster.pid
postmaster.opts
PG_XLOG, 하위 디렉토리를 포함한. 만약에 백업은 종합 된 버전 인 Wal 파일로 실행됩니다.PG_XLOG가 포함될 것이지만, 그렇지 않을 것입니다 백업이 작동하는 데 필요한 파일 만 포함합니다. 나머지 내용.
기본 파일 시스템 인 경우 소유자, 그룹 및 파일 모드가 설정됩니다. 서버에서 지원합니다.
모든 테이블 스페이스가 전송되면 최종 일반 결과 세트 전송됩니다. 이 결과 세트에는 다음에 끝 위치가 포함됩니다 xlogrecptr 형식으로 단일 열로 주어진 백업 열.
이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
메시지 흐름 | 배트맨 토토 : 문서 : 9.3 : Frontend/백엔드 프로토콜 | 메시지 데이터 유형 |