2025년 9월 25일:토토 커뮤니티 : 토토
이 문서는 지원되지 않는 윈 토토 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

F.23. pg_대기

윈 토토생성을 지원합니다 의"따뜻한 대기"데이터베이스 서버. 이는 즉시 생산 가능한 프로그램으로 설계되었습니다. 특정 요구 사항이 있는 경우 사용자 정의 가능한 템플릿 수정.

윈 토토다음과 같이 설계되었습니다. 기다림restore_command, 이는 표준 아카이브 복구를 웜 대기로 전환하는 데 필요함 운영. 다른 구성도 필요합니다. 메인 서버 매뉴얼에 설명되어 있습니다(참조섹션 24.4).

윈 토토기능 포함:

  • WAL 파일 복원을 위한 복사 또는 링크 지원

  • C로 작성되었으므로 이식성이 뛰어나고 설치가 쉽습니다.

  • 특별히 지정된 소스 코드 수정이 용이함 필요에 따라 수정할 섹션

  • 이미 Linux 및 Windows에서 테스트됨

F.23.1. 사용법

사용할 대기 서버를 구성하려면윈 토토, 이것을 그 안에 넣어recovery.conf구성 파일:

restore_command = '윈 토토archiveDir%f %p %r'

어디에서archiveDir이것은 WAL 세그먼트 파일을 복원해야 하는 디렉터리입니다.

전체 구문윈 토토의 명령줄은

윈 토토 [ 옵션 ... ] 보관위치 다음파일 xlog파일 경로 [ restartwalfile ]

내에서 사용될 때restore_command,%f그리고%p매크로를 지정해야 합니다.다음파일그리고xlogfilepath각각, 다음을 제공합니다. 복원에 필요한 실제 파일 및 경로입니다.

만약restartwalfile이다 일반적으로를 사용하여 지정됩니다.%r매크로인 경우 논리적으로 이 파일 앞에 오는 모든 WAL 파일은 에서 삭제됨보관위치. 이렇게 하면 보관해야 하는 파일 수가 최소화됩니다. 충돌 재시작 기능을 유지하면서. 이것의 사용 다음과 같은 경우 매개변수가 적절합니다.보관위치임시 스테이징입니다. 이 특정 대기 서버의 영역이지만아님보관위치다음으로 의도되었습니다. 장기 WAL 아카이브 영역입니다.

윈 토토그렇다고 가정합니다보관위치디렉토리입니다 서버 소유 사용자가 읽을 수 있습니다. 만일restartwalfile(또는-k)이 지정되면,보관위치디렉토리는 다음과 같아야 합니다. 쓰기도 가능합니다.

표 F-26.윈 토토옵션

옵션 기본값 설명
-c 사용cp또는복사WAL 파일을 복원하는 명령 아카이브.
-d 아니요 다음에 많은 디버그 로깅 출력을 인쇄stderr.
-k 파일 수 0 다음에서 파일 제거보관위치그래서 더 이상은 현재 WAL 파일보다 이 많은 WAL 파일보다 아카이브에 보관되어 있습니다. 0(기본값)은 하지 않음을 의미합니다. 다음에서 모든 파일을 제거하세요.보관위치. 이 매개변수 다음과 같은 경우 자동으로 무시됩니다.restartwalfile지정되었습니다. 왜냐하면 그 지정 방법이 더 정확하기 때문입니다. 올바른 아카이브 차단 지점을 결정합니다. 사용 이 매개변수는지원 중단됨현재윈 토토8.3; 그것은이다 a를 지정하는 것이 더 안전하고 효율적입니다.restartwalfile매개변수. A도 작은 설정으로 인해 다음과 같은 파일이 제거될 수 있습니다. 대기 서버를 다시 시작하려면 여전히 필요하지만 너무 큰 설정은 보관 공간을 낭비합니다.
-l 아니요 사용ln복원 명령 아카이브의 WAL 파일. 링크가 더 효율적입니다. 복사하지만 링크가 작동하지 않으므로 기본값은 복사입니다. 모든 시나리오에서. Windows에서 이 옵션은mklink제공 명령 파일 간 심볼릭 링크.-l이전 버전의 Windows에서는 작동하지 않습니다. 비스타.
-r 최대 재시도 3 복사를 재시도할 최대 횟수 설정 또는 실패할 경우 링크 명령. 실패할 때마다 우리는 기다리다수면 시간 * num_retries그래서 대기 시간이 점점 늘어납니다. 따라서 기본적으로 우리는 5초, 10초, 그 다음 15초를 기다립니다. 실패를 대기 서버에 다시 보고합니다. 이 복구가 종료되고 대기 상태로 해석됩니다. 결과적으로 완전히 나타날 것입니다.
-s 수면 시간 5 잠자기 시간(최대 60초) 설정 복원할 WAL 파일이 있는지 확인하기 위한 테스트 사이에 아직 아카이브에 있습니다. 기본 설정은 반드시 권장되는 것은 아닙니다. 상담하세요섹션 24.4용 토론.
-t 트리거파일 없음 존재가 원인이 되는 트리거 파일을 지정하십시오. 다음 WAL 파일이 있는지 여부에 관계없이 복구를 종료합니다. 가능합니다. 구조화된 방식을 사용하는 것이 좋습니다. 어떤 서버가 사용되고 있는지에 대한 혼동을 피하기 위한 파일 이름 동일한 서버에 여러 서버가 존재할 때 트리거됨 시스템; 예를 들어/tmp/pgsql.trigger.5432.
-w 최대 대기 시간 0 다음을 기다리는 최대 시간(초)을 설정하십시오. 다음 WAL 파일 이후에는 복구가 종료되고 대기가 나옵니다. 0으로 설정(기본값) 영원히 기다리라는 뜻이다. 기본 설정은 다음과 같습니다. 꼭 추천합니다; 상담하세요섹션 24.4용 토론.
주의

트리거 파일을 생성하는 것이 중요합니다. postgres 프로세스가 제거할 수 있도록 허용하는 권한 파일. 일반적으로 이는 파일을 생성하여 수행하는 것이 가장 좋습니다. postgres 사용자 계정에서. 그렇게 하지 않으면 WAL 파일 복구 및 서버 완료 방지 성공적으로 온라인으로 돌아왔습니다.

참고: --도움말아님 이후 지원됨윈 토토다음을 제외하고는 대화형으로 사용할 수 없습니다. 개발 및 테스트.

F.23.2. 예

Linux 또는 Unix 시스템에서는 다음을 사용할 수 있습니다.

archive_command = 'cp %p .../archive/%f'

Restore_command = '윈 토토 -l -d -s 2 -t /tmp/pgsql.trigger.5442 .../archive %f %p %r 2standby.log'

여기서 아카이브 디렉토리는 물리적으로 다음 위치에 있습니다. 대기 서버이므로archive_commandNFS를 통해 액세스하고 있지만 파일은 대기에 로컬입니다(사용 가능)ln). 이는 다음을 수행합니다.

  • 사용ln복원 명령 아카이브의 WAL 파일

  • 디버깅 출력 생성대기.로그

  • 다음 WAL 파일 확인 사이에 2초 동안 대기 가용성

  • 트리거 파일이 호출될 때만 대기 중지/tmp/pgsql.trigger.5442나타남

  • 아카이브에서 더 이상 필요하지 않은 파일을 제거합니다. 디렉토리

Windows에서는 다음을 사용할 수 있습니다.

archive_command = '%p 복사...\\archive\\%f'

Restore_command = '윈 토토 -d -s 5 -t C:\pgsql.trigger.5442 ...\archive %f %p %r 2standby.log'

백슬래시를 두 배로 늘려야 한다는 점에 유의하세요.archive_command하지만아님에서restore_command. 이는 다음을 수행합니다.

  • 사용복사복원 명령 아카이브의 WAL 파일

  • 디버깅 출력 생성standby.log

  • 다음 WAL 파일 확인 사이에 5초 동안 대기 가용성

  • 트리거 파일이 호출될 때만 대기 중지C:\pgsql.trigger.5442나타남

  • 아카이브에서 더 이상 필요하지 않은 파일을 제거합니다. 디렉토리

Windows 예제에서는 다음을 사용하므로복사양쪽 끝에서 서버 중 하나 또는 둘 다에 액세스할 수 있습니다. 네트워크 전체의 아카이브 디렉터리입니다.

F.23.3. 지원되는 서버 버전

윈 토토다음과 같이 설계되었습니다. 함께 일하다포스트그레SQL8.2 및 나중에.

포스트그레SQL8.3은 다음을 제공합니다%r다음을 수행하도록 설계된 매크로윈 토토마지막 파일을 알아요 유지해야합니다. 와 함께윈 토토8.2, 그-k아카이브 정리가 필요한 경우 옵션을 사용해야 합니다. 필수. 이 옵션은 8.3에서도 계속 사용할 수 있지만 사용 방법은 다음과 같습니다. 더 이상 사용되지 않습니다.