이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다postgresql : 문서 : 17 : 토토 사이트 순위버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

PG_RECEIVEWAL

PG_RECEIVEWAL-스트림 쓰기 로그 로그PostgreSQLServer

시놉시스

pg_receivewal[옵션...]

설명

pg_receivewalrunning에서 쓰기 로그를 스트리밍하는 데 토토됩니다PostgreSQL클러스터. 쓰기 로그는 스트리밍 복제 프로토콜을 토토하여 스트리밍되며 로컬 파일 디렉토리에 기록됩니다. 이 디렉토리는 Point-in-Time 복구를 토토하여 복원을 수행하기위한 아카이브 위치로 토토할 수 있습니다 (참조젠 토토 PostgreSQL : 문서 : 11 : 25.3. 연속 보관 및 시점 복구 (PITR)).

PG_RECEIVEWAL서버에서 생성 될 때 쓰기 로그인을 실시간으로 스트리밍하고 세그먼트가 완료되기를 기다리지 않습니다archive_command이러한 이유로 설정할 필요는 없습니다archive_timeout토토시PG_RECEIVEWAL.

PostgreSQL 대기 서버의 WAL 수신기와 달리PG_RECEIVEWAL기본적으로 WAL 파일을 닫을 때만 WAL 데이터를 플러시합니다. 옵션--- synchronous실시간으로 WAL 데이터를 플러시하도록 지정해야합니다. 부터PG_RECEIVEWALWAL을 적용하지 않으면 동기 대기가되도록 허용해서는 안됩니다synchronous_commitEqualsRemote_Apply. 그렇다면, 그것은 결코 따라 잡지 않는 대기 인 것처럼 보이며 거래 커밋이 차단 될 것입니다. 이를 피하려면 적절한 값을 구성해야합니다.synchronous_standby_names또는 지정Application_nameforpg_receivewal일치하지 않거나 값을 변경하지 않습니다synchronous_commitRemote_Apply.

쓰기 전달 로그가 일반에 걸쳐 스트리밍postgresql연결 및 복제 프로토콜을 토토합니다. 슈퍼업자 또는 토토자와 연결해야합니다.복제권한 (참조PostgreSQL : 문서 : 11 : 21.2. 사설 토토 사이트 속성) 및pg_hba.conf복제 연결을 허용해야합니다. 서버도로 구성해야합니다.max_wal_senders스트림에 적어도 하나의 세션을 남겨두기에 충분히 높은 설정.

쓰기 로그 스트리밍의 시작점은를 계산합니다.PG_RECEIVEWAL시작 :

  1. 먼저, 다음 WAL 세그먼트 파일의 시작점에서 시작점으로 사용하여 WAL 세그먼트 파일이 작성된 디렉토리를 스캔하고 최신 세그먼트 파일을 찾으십시오..

  2. 이전 방법으로 시작점을 계산할 수없는 경우 최신 WAL 플러시 위치는 서버에서보고 한대로 사용됩니다식별 _system명령.

연결이 손실되거나 처음에 설정할 수없는 경우 치명적이지 않은 오류로pg_receivewal연결을 무기한으로 재 시도하고 가능한 빨리 스트리밍을 다시 설정합니다. 이 행동을 피하려면를 토토하십시오.-n매개 변수.

치명적인 오류가 없으면pg_receivewalSigint신호 (컨트롤+C).

옵션

-d디렉토리
-디렉토리 =디렉토리

출력을 작성하는 디렉토리.

이 매개 변수가 필요합니다.

-eLSN
--endpos =LSN

정상 종료 상태로 복제를 자동으로 중지하고 종료하십시오. 0 지정된 LSN에 도달 할 때

LSN이있는 레코드가있는 경우LSN, 레코드가 처리됩니다.

-if-not-Exists

-크리징 슬롯지정되고 지정된 이름의 슬롯이 이미 존재합니다.

-n
---- 루프

연결 오류를 루프하지 마십시오. 대신, 오류로 즉시 종료하십시오.

-no-sync

이 옵션은pg_receivewalWAL 데이터가 디스크로 플러시되도록 강제하지 않도록합니다. 이것은 더 빠르지 만, 후속 운영 체제 충돌로 인해 WAL 세그먼트가 손상 될 수 있음을 의미합니다. 일반적 으로이 옵션은 테스트에 유용하지만 프로덕션 배포에서 WAL 아카이브를 수행 할 때 사용해서는 안됩니다.

이 옵션은와 호환되지 않습니다.--- synchronous.

-s간격
-Status-interval =간격

서버로 다시 전송 된 상태 패킷 사이의 초 수를 지정합니다. 이를 통해 서버에서 진행 상황을보다 쉽게 ​​모니터링 할 수 있습니다. 제로 값은 시간 초과 분리를 피하기 위해 서버에서 요청할 때 업데이트가 계속 전송되지만 정기 상태 업데이트를 완전히 비활성화합니다. 기본값은 10 초입니다.

-sSlotname
-슬롯 =slotname

요구PG_RECEIVEWAL기존 복제 슬롯을 사용하려면 (참조섹션 26.2.6). 이 옵션이 사용될 때pg_receivewal서버에 플러시 위치를보고합니다. 각 세그먼트가 디스크에 동기화 된시기를 나타내므로 서버가 다른 방법으로 필요하지 않은 경우 해당 세그먼트를 제거 할 수 있습니다..

복제 클라이언트의 클라이언트 시점PG_RECEIVEWAL는 서버에서 동기 대기로 구성되면 복제 슬롯을 사용하면 플러시 위치를 서버에보고하지만 WAL 파일이 닫히는 경우에만 플러시 위치를보고합니다. 따라서이 구성으로 인해 기본의 트랜잭션이 오랫동안 기다리고 효과적으로 만족스럽게 작동하지 않습니다. 옵션--- synchronous(아래 참조)이 작업을 올바르게 만들면서 지정해야합니다.

-synchronous

WAL 데이터를 수신 한 직후 WAL 데이터를 디스크로 플러시합니다. 또한 상태 패킷을 플러싱 직후에 서버로 다시 보내십시오.-Status-interval.

이 옵션은의 복제 클라이언트 인 경우 지정해야합니다.PG_RECEIVEWAL서버에서 동기 대기로 구성되어 적시 피드백이 서버로 전송되도록합니다.

-v
-Versbose

Verbose 모드 활성화.

-z레벨
-코프 프레스 =레벨

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

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

-dconnstr
-dbname =connstr

서버에 연결하는 데 토토되는 매개 변수를 지정합니다.연결 문자열; 충돌하는 명령 줄 옵션을 무시합니다.

옵션은입니다.-dbname다른 클라이언트 애플리케이션과의 일관성이 있지만PG_RECEIVEWAL클러스터의 특정 데이터베이스에 연결하지 않으며 연결 문자열의 데이터베이스 이름은 무시됩니다.

-hhost
-host =host

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

-p포트
19488_19497포트

서버가 연결을 듣고있는 TCP 포트 또는 로컬 UNIX 도메인 소켓 파일 확장자를 지정합니다. 기본값pgport환경 변수, 설정된 경우 또는 컴파일 된 기본값

-u토토자 이름
--username =토토자 이름

토토자 이름으로 연결합니다.

-w
-no-password

비밀번호 프롬프트를 발행하지 마십시오. 서버에 비밀번호 인증이 필요하고 A와 같은 다른 방법으로 암호를 토토할 수없는 경우.pgpass파일, 연결 시도가 실패합니다. 이 옵션은 비밀번호를 입력 할 사용자가없는 배치 작업 및 스크립트에 유용 할 수 있습니다.

-w
--password

ForcePG_RECEIVEWAL데이터베이스에 연결하기 전에 비밀번호를 신속하게하려면

이 옵션은 결코 필수적이지 않습니다.PG_RECEIVEWAL서버가 암호 인증을 요구하는 경우 비밀번호를 자동으로 프롬프트합니다. 하지만,pg_receivewal서버가 비밀번호를 원한다는 것을 알아내는 연결 시도를 낭비합니다. 어떤 경우에는 입력 할 가치가 있습니다-w추가 연결 시도를 피하려면

PG_RECEIVEWAL물리적 복제 슬롯을 제어하기 위해 다음 두 조치 중 하나를 수행 할 수 있습니다 :

-Create-Slot

이름이 지정된 새 물리적 복제 슬롯 생성-슬롯, 그런 다음 종료.

-드롭 슬롯

지정된 이름으로 복제 슬롯을 삭제합니다-슬롯, 그 다음 출구.

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

-v
-버전

인쇄PG_RECEIVEWAL버전 및 종료.

-?
-help

도움말 표시pg_receivewal명령 줄 인수 및 종료

종료 상태

PG_RECEIVEWAL|Sigint신호. (이것은 정상적인 방법입니다. 따라서 오류가 아닙니다.) 치명적인 오류 또는 기타 신호의 경우 출구 상태는 0이 아닙니다..

환경

이 유틸리티, 대부분의 다른 유틸리티PostgreSQL유틸리티, 지원하는 환경 변수를 사용합니다libpq(참조PostgreSQL : 문서 : 11 : 34.14. 환경 토토 사이트 순위).

노트

토토시PG_RECEIVEWAL대신archive_command기본 WAL 백업 방법은 복제 슬롯을 사용하는 것이 좋습니다. 그렇지 않으면 서버는 백업하기 전에 쓰기 로그 파일을 무료로 재활용하거나 제거 할 수 있습니다.archive_command또는 WAL 스트림이 얼마나 멀리 보관되었는지에 대한 복제 슬롯. 그러나 수신기가 WAL 데이터를 가져 오는 것을 따라 잡지 않으면 복제 슬롯이 서버의 디스크 공간을 채우게됩니다.

PG_RECEIVEWAL소스 클러스터에서 그룹 권한이 활성화되면 수신 된 월 파일에 대한 그룹 권한을 보존합니다.

예제

서버에서 쓰기 로그를 스트리밍하려면MyDbserver로컬 디렉토리에 저장/usr/local/pgsql/archive:

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