윈 토토창조를 지원합니다 A"따뜻한 대기"데이터베이스 서버. 생산 준비 프로그램으로 설계되었으며 구체적으로 필요한 경우 사용자 정의 가능한 템플릿 수정.
윈 토토대기Restore_command표준 아카이브 복구를 따뜻한 대기로 바꾸는 데 필요했습니다. 작업. 다른 구성이 필요합니다 기본 서버 매뉴얼에 설명되어 있습니다 (참조섹션 24.4).
윈 토토기능 포함하다:
WAL 파일 복원을위한 사본 또는 링크 지원
C로 작성된 작성, 매우 휴대가 많고 설치하기 쉽습니다
수정하기 쉬운 소스 코드 (특별히 지정된) 자신의 필요에 맞는 섹션
이미 Linux 및 Windows에서 테스트되었습니다
사용할 대기 서버를 구성하려면윈 토토, 이것을 그것에 넣습니다복구 .conf구성 파일 :
Restore_command = 'PG_STANDBYArchivedir%f %p %r '
여기서Archivedir입니다 WAL 세그먼트 파일을 복원 해야하는 디렉토리.
전체 구문윈 토토의 명령 줄은
윈 토토 [ 옵션 ... ]Archivelocation Nextwalfile xlogfilepath[ RETARTWALFILE ]
내에서 사용될 때Restore_command, 그만큼%fand%p매크로가 지정되어야합니다Nextwalfileandxlogfilepath각각을 제공합니다 복원에 필요한 실제 파일 및 경로.
ifRestartWalfileis 정상적으로를 사용하여 지정%r매크로, 그러면이 파일의 논리적으로 논리적으로 모든 책치 파일이 다음과 같습니다. 에서 제거보관. 이렇게하면 유지해야 할 파일 수를 최소화합니다. 충돌 범위 기능을 보존하는 동안. 이것의 사용 매개 변수는이면 적절합니다.보관는 과도 스테이징입니다 이 특정 대기 서버의 영역이지만not언제보관a 장기 WAL 아카이브 영역.
윈 토토Archivelocation는 디렉토리입니다 서버 소유 사용자가 읽을 수 있습니다. 만약에RestartWalfile(또는-K) 지정되어 있습니다.Archivelocation디렉토리가 있어야합니다 쓰기도 가능합니다.
표 F-26.윈 토토옵션
옵션 | 기본값 | 설명 |
---|---|---|
-c | 예 | useCP또는copyWAL 파일을 복원하는 명령 보관소. |
-d | 아니오 | 디버그 로깅 출력을 많이 인쇄Stderr. |
-K numfiles | 0 | 파일 제거보관더 이상 현재의 Wal 파일보다는이 많은 WAL 파일보다 현재 아카이브에 보관했습니다. 0 (기본값)은 그렇지 않음을 의미합니다 에서 파일 제거보관. 이 매개 변수 이면 조용히 무시됩니다.RestartWalfile지정되어 있습니다. 이 사양 방법이 더 정확하기 때문에 올바른 아카이브 컷오프 지점 결정. 사용 이 매개 변수는감가 상각윈 토토8.3; 그것은 A를 지정하는 데 더 안전하고 효율적입니다RETARTWALFILE매개 변수. 너무 작은 설정은 파일을 제거 할 수 있습니다. 대기 서버를 다시 시작하려면 여전히 필요하지만 너무 큰 설정은 아카이브 공간을 낭비합니다. |
-l | 아니요 | useln복원 명령 아카이브의 책치 파일. 링크는보다 효율적입니다 복사하지만 링크가 작동하지 않으므로 기본값은 복사됩니다. 모든 시나리오에서. Windows 에서이 옵션은를 사용합니다.mklink파일 투 파일 상징적 링크.-l이전에는 Windows 버전에서 작동하지 않습니다 추억. |
-r Maxretries | 3 | 사본을 재 시도하기 위해 최대 횟수를 설정 또는 링크 명령이 실패한 경우 명령. 각각의 실패 후, 우리 대기Sleeptime * num_retries대기 시간이 점차 증가합니다. 기본적으로 우리 5 초, 10 초, 15 초 전에 기다릴 것입니다. 실패를 대기 서버로 다시보고합니다. 이것 회복의 끝과 대기로 해석됩니다. 결과적으로 완전히 올 것입니다. |
-s Sleeptime | 5 | 수면까지 초 (최대 60) 수를 설정 복원 될 WAL 파일이 아카이브에서 아직 사용할 수 있습니다. 기본 설정은입니다 반드시 권장되는 것은 아닙니다. 찾다섹션 24.4논의. |
-t TriggerFile | 없음 | 존재로 인한 트리거 파일을 지정하십시오 다음 WAL 파일이 사용 가능. 구조화 된 것을 사용하는 것이 좋습니다 어떤 서버가 있는지에 대한 혼란을 피하기위한 파일 이름 여러 서버가 동일하게 존재할 때 트리거됩니다 체계; 예를 들어/tmp/pgsql.trigger.5432. |
-w Maxwaittime | 0 | 다음 WAL 파일, 그 후 복구가 끝나고 대기가 나타납니다. 0 설정 (기본값) 영원히 기다리는 것을 의미합니다. 기본 설정은 아닙니다 반드시 권장됩니다. 찾다섹션 24.4논의. |
주의 |
트리거 파일을 작성하는 것이 중요합니다 Postgres 프로세스가 제거 할 수있는 권한 파일. 일반적으로 이것은 파일을 만드는 것이 가장 좋습니다 Postgres 사용자 계정에서. 그렇게하지 않을 것입니다 WAL 파일 복구 및 서버의 완료를 방지합니다 온라인으로 다시 돌아 오는 것부터. |
참고 : -help그렇지 않습니다 이후 지원윈 토토중에는 대화식 사용을위한 것이 아닙니다 개발 및 테스트.
Linux 또는 UNIX 시스템에서 사용할 수 있습니다.
archive_command = 'cp %p .../archive/ %f' restore_command = '윈 토토 -l -d -s 2 -t /tmp/pgsql.trigger.5442 .../아카이브 %f %p %r 2 standby.log'
아카이브 디렉토리가 물리적으로 위치한 곳 대기 서버,archive_commandNFS에 걸쳐 액세스하고 있지만 파일은 대기에 로컬입니다 (사용 가능ln). 이것은 :
사용ln복원 명령 Archive의 WAL 파일
생산 디버깅 출력에서standby.log
다음 WAL 파일에 대한 수표 사이에 2 초 동안 잠을 자십시오. 유효성
트리거 파일이 전화 할 때만 대기 중지/tmp/pgsql.trigger.5442나타나
아카이브에서 필요하지 않은 파일을 제거합니다 예배 규칙서
Windows에서 사용할 수 있습니다 :
archive_command = 'copy %p ... \\ archive \\ %f' restore_command = '윈 토토 -d -s 5 -t c : \ pgsql.trigger.5442 ... \ archive %f %p %r 2 standby.log'
백 슬래시는 두 배가되어야한다는 점에 유의하십시오archive_command그러나아님inRestore_command. 이것은 :
사용COPY복원 명령 Archive의 WAL 파일
생산 디버깅 출력에서standby.log
다음 WAL 파일에 대한 수표 사이에 5 초 동안 수면 유효성
트리거 파일이 호출 될 때만 대기 중지C : \ pgsql.trigger.5442나타나
아카이브에서 필요하지 않은 파일을 제거합니다 예배 규칙서
Windows 예제가 사용하기 때문에copy양쪽 끝에서, 둘 중 하나 또는 두 서버 모두에 액세스 할 수 있습니다. 네트워크를 통한 아카이브 디렉토리.
윈 토토는 설계되었습니다 와 함께 일윈 토토8.2 및 나중에.
윈 토토8.3 제공%r매크로.윈 토토마지막 파일을 알고 있습니다 유지해야합니다. 와 함께윈 토토8.2, The-K아카이브 정리가 있으면 옵션을 사용해야합니다 필수의. 이 옵션은 8.3으로 사용할 수 있지만 사용은 다음과 같습니다. 감가 상승.
Simon Riggs<simon@2ndquadrant.com