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

pg_receivewal

pg_receivewal — a에서 미리 쓰기 로그 스트리밍포스트그레SQL토토

시놉시스

pg_receivewal [옵션...]

설명

pg_receivewal실행 중인 프로그램에서 미리 쓰기 로그를 스트리밍하는 데 사용됩니다.포스트그레SQL클러스터. 미리 쓰기 로그는 스트리밍 복제 프로토콜을 사용하여 스트리밍되며 파일의 로컬 디렉터리에 기록됩니다. 이 디렉토리는 특정 시점 복구를 사용하여 복원을 수행하기 위한 아카이브 위치로 사용될 수 있습니다(참조)윈 토토 PostgreSQL : 문서 : 10 : 25.3. 연속 보관 및 시점 복구 (PITR)).

pg_receivewal토토에서 생성되는 미리 쓰기 로그를 실시간으로 스트리밍하고 다음과 같이 세그먼트가 완료될 때까지 기다리지 않습니다.archive_command그렇습니다. 이러한 이유로 설정할 필요가 없습니다.archive_timeout사용 시pg_receivewal.

PostgreSQL 대기 토토의 WAL 수신자와는 달리pg_receivewal기본적으로 WAL 파일이 닫힐 때만 WAL 데이터를 플러시합니다. 옵션--동기9471_9530pg_receivewalWAL을 적용하지 않습니다. 다음과 같은 경우 동기 대기 상태가 되도록 허용해서는 안 됩니다.동기_커밋같음remote_apply. 만약 그렇다면, 결코 따라잡지 못하는 대기 상태로 나타나며 트랜잭션 커밋을 차단하게 됩니다. 이를 방지하려면 적절한 값을 구성해야 합니다.synchronous_standby_names또는 지정애플리케이션_이름forpg_receivewal일치하지 않거나 값을 변경함동기_커밋이외의 것remote_apply.

미리 쓰기 로그는 일반을 통해 스트리밍됩니다.포스트그레SQL연결하고 복제 프로토콜을 사용합니다. 연결은 슈퍼유저 또는 다음을 가진 사용자와 이루어져야 합니다.복제권한(참조PostgreSQL : 문서 : 10 : 21.2. 토토 베이 속성) 및pg_hba.conf복제 연결을 허용해야 합니다. 토토는 또한 다음과 같이 구성되어야 합니다.max_wal_senders스트림에 하나 이상의 세션을 사용할 수 있을 만큼 높게 설정하세요.

미리 쓰기 로그 스트리밍의 시작점은 다음과 같이 계산됩니다.pg_receivewal시작:

  1. 먼저, WAL 세그먼트 파일이 기록된 디렉토리를 스캔하고 다음 WAL 세그먼트 파일의 시작점을 시작점으로 사용하여 가장 최근에 완성된 세그먼트 파일을 찾습니다.

  2. 이전 방법으로 시작점을 계산할 수 없는 경우 토토가 보고한 최신 WAL 플러시 위치가 사용됩니다.IDENTIFY_SYSTEM명령.

연결이 끊어지거나 치명적이지 않은 오류로 인해 처음에 연결할 수 없는 경우,pg_receivewal연결을 무기한 재시도하고 가능한 한 빨리 스트리밍을 다시 설정합니다. 이 동작을 방지하려면-n매개변수.

옵션

-D디렉토리
--디렉토리=디렉토리

출력을 쓸 디렉터리.

이 매개변수는 필수입니다.

--존재하지 않는 경우

다음의 경우 오류를 발생시키지 마십시오.--생성-슬롯이(가) 지정되었으며 지정된 이름의 슬롯이 이미 존재합니다.

-n
--루프 없음

연결 오류를 반복하지 마십시오. 대신 오류가 발생하면 즉시 종료하세요.

-s간격
--상태-간격=간격

토토로 다시 전송되는 상태 패킷 사이의 시간(초)을 지정합니다. 이를 통해 토토의 진행 상황을 더 쉽게 모니터링할 수 있습니다. 값이 0이면 주기적인 상태 업데이트가 완전히 비활성화됩니다. 단, 시간 초과 연결 끊김을 방지하기 위해 토토에서 요청할 때 업데이트가 계속 전송됩니다. 기본값은 10초입니다.

-S슬롯 이름
--슬롯=슬롯 이름

요구pg_receivewal기존 복제 슬롯을 사용하려면(참조섹션 26.2.6). 이 옵션을 사용하면,pg_receivewal각 세그먼트가 디스크에 동기화된 시기를 나타내는 플러시 위치를 토토에 보고하여 토토가 별도로 필요하지 않은 경우 해당 세그먼트를 제거할 수 있도록 합니다.

복제 클라이언트가pg_receivewal이 토토에 동기 대기로 구성된 경우 복제 슬롯을 사용하면 플러시 위치를 토토에 보고하지만 WAL 파일이 닫힌 경우에만 가능합니다. 따라서 해당 구성으로 인해 기본 트랜잭션이 오랜 시간 동안 대기하고 사실상 만족스럽게 작동하지 않게 됩니다. 옵션--동기(아래 참조)이 올바르게 작동하려면 추가로 지정되어야 합니다.

--동기

WAL 데이터를 수신한 후 즉시 디스크에 플러시합니다. 또한 플러시 후 즉시 상태 패킷을 토토로 다시 보냅니다.--상태-간격.

이 옵션은 복제 클라이언트가 다음의 경우에 지정되어야 합니다.pg_receivewal적시에 피드백이 토토에 전송되도록 토토에 동기 대기로 구성되어 있습니다.

-v
--상세

상세 모드를 활성화합니다.

-Z레벨
--압축=레벨

미리 쓰기 로그의 gzip 압축을 활성화하고 압축 수준을 지정합니다(0~9, 0은 비압축, 9는 최고 압축). 접미사.gz모든 파일 이름에 자동으로 추가됩니다.

다음 명령줄 옵션은 데이터베이스 연결 매개변수를 제어합니다.

-dconnstr
--dbname=connstr

토토에 연결하는 데 사용되는 매개변수를 다음과 같이 지정합니다.연결 문자열; 이는 충돌하는 명령줄 옵션을 재정의합니다.

옵션이 호출되었습니다.--dbname다른 클라이언트 응용프로그램과의 일관성을 위해, 그러나 그 이유는pg_receivewal클러스터의 특정 데이터베이스에 연결되지 않습니다. 연결 문자열의 데이터베이스 이름은 무시됩니다.

-h호스트
--호스트=호스트

토토가 실행 중인 시스템의 호스트 이름을 지정합니다. 값이 슬래시로 시작하는 경우 Unix 도메인 소켓의 디렉터리로 사용됩니다. 기본값은에서 가져옵니다.PGHOST환경 변수, 설정된 경우 그렇지 않으면 Unix 도메인 소켓 연결이 시도됩니다.

-p포트
--포트=포트

토토가 연결을 수신하고 있는 TCP 포트 또는 로컬 Unix 도메인 소켓 파일 확장자를 지정합니다. 기본값은PGPORT환경 변수(설정된 경우) 또는 컴파일된 기본값.

-U사용자 이름
--사용자 이름=사용자 이름

연결할 사용자 이름.

-w
--비밀번호 없음

비밀번호 프롬프트를 표시하지 마십시오. 토토가 비밀번호 인증을 요구하는데 다음과 같은 다른 방법으로 비밀번호를 사용할 수 없는 경우.pgpass파일을 사용하면 연결 시도가 실패합니다. 이 옵션은 비밀번호를 입력할 사용자가 없는 일괄 작업 및 스크립트에 유용할 수 있습니다.

-W
--비밀번호

포스pg_receivewal데이터베이스에 연결하기 전에 비밀번호를 묻는 메시지를 표시합니다.

이 옵션은 결코 필수가 아닙니다. 왜냐하면pg_receivewal토토가 비밀번호 인증을 요구하면 자동으로 비밀번호를 묻는 메시지가 표시됩니다. 그러나pg_receivewal토토가 비밀번호를 원하는지 알아내는 연결 시도를 낭비하게 됩니다. 어떤 경우에는 입력할 가치가 있습니다.-W추가 연결 시도를 피하기 위해.

pg_receivewal물리적 복제 슬롯을 제어하기 위해 다음 두 가지 작업 중 하나를 수행할 수 있습니다.

--생성-슬롯

다음에 지정된 이름을 가진 새로운 물리적 복제 슬롯 생성--슬롯그런 다음 종료하세요.

--드롭 슬롯

에 지정된 이름을 가진 복제 슬롯을 삭제합니다.--슬롯, 종료하세요.

다른 옵션도 사용할 수 있습니다:

-V
--버전

인쇄pg_receivewal버전 및 종료.

-?
--도움말

다음에 대한 도움말 보기pg_receivewal명령줄 인수 및 종료.

환경

이 유틸리티는 대부분의 다른 유틸리티와 같습니다.포스트그레SQL유틸리티는 에서 지원하는 환경 변수를 사용합니다.libpq(참조PostgreSQL : 문서 : 10 : 33.14. 환경 와이즈 토토).

참고

사용 시pg_receivewal대신archive_command주요 WAL 백업 방법으로 복제 슬롯을 사용하는 것이 좋습니다. 그렇지 않으면 토토는 백업되기 전에 미리 쓰기 로그 파일을 자유롭게 재활용하거나 제거할 수 있습니다. 왜냐하면 로그 파일에는 어떤 정보도 없기 때문입니다.archive_command또는 WAL 스트림이 얼마나 멀리 보관되었는지에 대한 복제 슬롯. 그러나 수신자가 WAL 데이터를 계속 가져오지 않으면 복제 슬롯이 토토의 디스크 공간을 채울 것이라는 점에 유의하세요.

다음 토토에서 미리 쓰기 로그를 스트리밍하려면mydb토토그리고 로컬 디렉토리에 저장/usr/local/pgsql/아카이브:

$ pg_receivewal -h mydbserver -D /usr/local/pgsql/archive

또한 참조

pg_basebackup