이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

윈 토토

윈 토토 - A의 생성 지원PostgreSQL따뜻한 대기 서버

시놉시스

윈 토토[옵션...]Archivelocation Nextwalfile Walfilepath[RETARTWALFILE]

설명

윈 토토A의 생성 지원따뜻한 대기데이터베이스 서버. 특정 수정이 필요한 경우 제작 준비 프로그램과 사용자 정의 가능한 템플릿으로 설계되었습니다.

윈 토토대기하도록 설계되었습니다Restore_command, 표준 아카이브 복구를 따뜻한 대기 작업으로 바꾸는 데 필요합니다. 다른 구성이 필요하며,이 모든 구성은 주 서버 매뉴얼에 설명되어 있습니다 (참조PostgreSQL : 문서 : 11 : 26.2. 로그쉽 토토 캔 서버).

사용할 대기 서버를 구성하려면윈 토토, 이것을 그것에 넣습니다복구 .conf구성 파일 :

Restore_command = 'PG_STANDBYArchivedir%f %p %r '

여기서ArchivedirWAL 세그먼트 파일을 복원 해야하는 디렉토리입니다.

ifRETARTWALFILE일반적으로를 사용하여 지정됩니다.%r매크로, 그러면이 파일의 논리적으로 논리적으로 모든 책치 파일이 제거됩니다Archivelocation. 이로 인해 충돌 사고 기능을 유지하면서 유지해야 할 파일의 수가 최소화됩니다. 이 매개 변수의 사용은Archivelocation이 특정 대기 서버의 과도 준비 영역이지만아님언제Archivelocation장기 WAL 아카이브 영역으로 의도되어 있습니다.

윈 토토보관는 서버 소유 사용자가 읽을 수있는 디렉토리입니다. 만약에RestartWalfile(또는-K) 지정되어 있습니다.보관디렉토리도 쓸 수 있어야합니다.

a에 실패하는 방법에는 두 가지가 있습니다.따뜻한 대기마스터 서버가 실패한 경우 데이터베이스 서버 :

Smart Failover

스마트 장애 조치에서 아카이브에 사용 가능한 모든 왈 파일을 적용한 후 서버가 제기됩니다. 이로 인해 대기 서버가 뒤쳐져도 데이터 손실이 발생하지만 적용되지 않은 WAL이 많으면 대기 서버가 준비되기까지 오랜 시간이 걸릴 수 있습니다. 스마트 장애 조치를 트리거하려면 단어가 포함 된 트리거 파일을 만듭니다스마트또는 그냥 만들고 비워 두십시오.

빠른 장애 조치

빠른 장애 조치에서 서버는 즉시 제기됩니다. 아직 적용되지 않은 아카이브의 모든 왈 파일은 무시되며 해당 파일의 모든 트랜잭션이 손실됩니다. 빠른 장애 조치를 트리거하려면 트리거 파일을 만들고 단어를 작성하십시오빠른안으로.윈 토토정의 된 간격 내에 새 월 파일이 나타나지 않으면 빠른 장애 조치를 자동으로 실행하도록 구성 할 수도 있습니다.

옵션

윈 토토다음 명령 줄 인수를받습니다 :

-c

useCP또는COPY아카이브에서 WAL 파일을 복원하려면 명령. 이것은 유일한 지원 행동 이므로이 옵션은 쓸모가 없습니다.

-d

디버그 로깅 출력을 많이 인쇄Stderr.

-K

파일 제거Archivelocation따라서 현재 버전이 아카이브에 보관되기 전에이 많은 왈 파일을 보관하지 않도록하십시오. 0 (기본값)은에서 파일을 제거하지 않는 것을 의미합니다.보관. 이 매개 변수는이면 조용히 무시됩니다.RestartWalfile이 사양 방법이 올바른 아카이브 컷오프 지점을 결정하는 데 더 정확하므로 지정되어 있습니다. 이 매개 변수의 사용은입니다.감가 상각PostgreSQL8.3; A를 지정하는 것이 더 안전하고 효율적입니다.RestartWalfile매개 변수. 너무 작은 설정으로 인해 대기 서버를 다시 시작하는 데 필요한 파일을 제거 할 수 있지만 너무 큰 설정은 아카이브 공간을 낭비합니다.

-r Maxretries

사본이 실패한 경우 복사 명령을 재 시도하기 위해 최대 횟수를 설정합니다 (기본값 3). 각각의 실패 후, 우리는 기다립니다Sleeptime * num_retries대기 시간이 점진적으로 증가하도록합니다. 따라서 기본적으로 5 초, 10 초, 15 초 동안 대기 서버에 실패를보고하기 전에 기다립니다. 이것은 복구의 끝으로 해석 될 것이며 그 결과 대기는 완전히 나타납니다.

-s Sleeptime

테스트 사이에 수면을 위해 수면으로 수면을 설정하여 복원 할 WAL 파일이 아카이브에서 아직 사용할 수 있는지 확인하십시오. 기본 설정이 반드시 권장되는 것은 아닙니다. 찾다PostgreSQL : 문서 : 11 : 26.2. 로그쉽 토토 캔 서버토론을 위해.

-t triggerfile

존재로 인해 장애 조치를 일으키는 트리거 파일을 지정하십시오. 동일한 시스템에 여러 서버가 존재할 때 어떤 서버가 트리거되는지에 대한 혼란을 피하기 위해 구조화 된 파일 이름을 사용하는 것이 좋습니다. 예를 들어/tmp/pgsql.trigger.5432.

-v
-버전

인쇄윈 토토버전 및 종료.

-w Maxwaittime

다음 WAL 파일을 기다리는 최대 초의 초를 설정 한 후 빠른 장애 조치가 수행됩니다. 0의 설정 (기본값)은 영원히 기다리는 것을 의미합니다. 기본 설정이 반드시 권장되는 것은 아닙니다. 찾다PostgreSQL : 문서 : 11 : 26.2. 로그쉽 토토 캔 서버토론을 위해.

-?
-help

도움말 표시윈 토토명령 줄 인수 및 종료.

노트

윈 토토와 함께 작동하도록 설계되었습니다PostgreSQL8.2 이상.

PostgreSQL8.3 제공%r매크로.윈 토토보관 해야하는 마지막 파일을 알고 있습니다. 와 함께PostgreSQL8.2,-K아카이브 정리가 필요한 경우 옵션을 사용해야합니다. 이 옵션은 8.3으로 사용할 수 있지만 사용은 더 이상 사용되지 않습니다.

PostgreSQL8.4 제공복구 _end_command옵션. 이 옵션이 없으면 남은 트리거 파일이 위험 할 수 있습니다.

윈 토토C로 작성되었으며 수정하기 쉬운 소스 코드가 있으며, 자신의 요구에 맞게 수정할 수있는 구체적으로 지정된 섹션이 있습니다

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

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

Restore_command = 'PG_STANDBY -D -S 2 -T /TMP/PGSQL.TRIGGER.5442 .../ARCHIVE %F %P %R 2  standby.log'

recover_end_command = 'rm -f /tmp/pgsql.trigger.5442'

아카이브 디렉토리가 대기 서버에 물리적으로 위치한 곳archive_commandNFS에 걸쳐 액세스하고 있지만 파일은 대기에 로컬입니다 (사용 가능ln). 이것은 :

  • 디버깅 출력 생산standby.log

  • 다음 WAL 파일 가용성 수표 사이에 2 초 동안 수면

  • 트리거 파일이 전화 할 때만 대기 중지/tmp/pgsql.trigger.5442나타나고 컨텐츠에 따라 장애 조치를 수행

  • 복구가 끝나면 트리거 파일 제거

  • 아카이브 디렉토리에서 필요한 파일 제거

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

archive_command = 'copy %p ... \\ archive \\ %f'

Restore_command = 'PG_STANDBY -D -S 5 -T C : \ PGSQL.TRIGGER.5442 ... \ Archive %F %P %R 2  standby.log'

recover_end_command = 'del c : \ pgsql.trigger.5442'

백 슬래시는 두 배가되어야한다는 점에 유의하십시오archive_command, 그러나notinRestore_command또는Recovery_end_command. 이것은 :

  • 사용COPYArchive에서 WAL 파일을 복원하는 명령

  • 생산 디버깅 출력에서standby.log

  • 다음 WAL 파일 가용성 수표 사이에 5 초 동안 잠을 자십시오

  • 트리거 파일이라는 트리거 파일이 대기 중지 대기 중지 중지c : \ pgsql.trigger.5442나타나고 컨텐츠에 따라 장애 조치를 수행합니다

  • 복구가 종료 될 때 트리거 파일 제거

  • 아카이브 디렉토리에서 끊임없는 파일 제거

thecopyWindows의 명령은 파일이 완전히 복사되기 전에 최종 파일 크기를 설정하여 일반적으로 혼동됩니다윈 토토. 그러므로윈 토토WAITSSleeptime일단 올바른 파일 크기가 나타나면 초. gnuwin32 'sCP파일 사본이 완료된 후에 만 ​​파일 크기를 설정합니다.

Windows 예제가 사용하므로copy양쪽 끝에서, 둘 중 하나 또는 두 서버 모두 네트워크를 통해 아카이브 디렉토리에 액세스 할 수 있습니다.

저자

Simon Riggs