스포츠 토토 베트맨생성을 지원합니다 의"따뜻한 대기"데이터베이스 서버. 이는 즉시 생산 가능한 프로그램으로 설계되었습니다. 특정 요구 사항이 있는 경우 사용자 정의 가능한 템플릿 수정.
스포츠 토토 베트맨다음과 같이 설계되었습니다. 기다림restore_command입니다. 표준 아카이브 복구를 웜 대기로 전환하는 데 필요함 운영. 다른 구성도 필요합니다. 메인 서버 매뉴얼에 설명되어 있습니다(참조섹션 25.2).
스포츠 토토 베트맨기능 포함:
C로 작성되었으므로 이식성이 뛰어나고 설치가 쉽습니다.
특별히 지정된 소스 코드 수정이 용이함 필요에 따라 수정할 섹션
이미 Linux 및 Windows에서 테스트됨
사용할 대기 서버를 구성하려면스포츠 토토 베트맨, 이것을 그 안에 넣어recovery.conf구성 파일:
restore_command = '스포츠 토토 베트맨archiveDir%f %p %r'
어디에서archiveDir이것은 WAL 세그먼트 파일을 복원해야 하는 디렉터리입니다.
전체 구문스포츠 토토 베트맨의 명령줄은
스포츠 토토 베트맨 [ 옵션 ... ] 보관위치 다음파일 xlog파일 경로 [ restartwalfile ]
내에서 사용될 때restore_command,%f그리고%p매크로를 지정해야 합니다.다음파일그리고xlog파일 경로각각, 다음을 제공합니다. 복원에 필요한 실제 파일 및 경로입니다.
만약restartwalfile이 일반적으로를 사용하여 지정됩니다.%r매크로인 경우 논리적으로 이 파일 앞에 오는 모든 WAL 파일은 에서 삭제됨보관위치. 이렇게 하면 보관해야 하는 파일 수가 최소화됩니다. 충돌 재시작 기능을 유지하면서. 이것의 사용 다음과 같은 경우 매개변수가 적절합니다.보관위치임시 스테이징입니다. 이 특정 대기 서버의 영역이지만아님때보관위치다음으로 의도되었습니다. 장기 WAL 아카이브 영역입니다.
스포츠 토토 베트맨그렇다고 가정합니다보관위치디렉토리입니다 서버 소유 사용자가 읽을 수 있습니다. 만일restartwalfile(또는-k)가 지정되면보관위치디렉토리는 다음과 같아야 합니다. 쓰기도 가능합니다.
장애 조치를 수행하는 방법에는 두 가지가 있습니다."따뜻한 대기"데이터베이스 서버 때 마스터 서버 실패:
스마트 장애 조치에서는 서버가 다음 후에 가동됩니다. 아카이브에서 사용 가능한 모든 WAL 파일을 적용합니다. 이 대기 서버에 데이터가 손실되지 않더라도 데이터 손실은 전혀 발생하지 않습니다. 뒤처졌지만 미적용 WAL이 많으면 대기 서버가 복구되기까지는 오랜 시간이 걸릴 수 있습니다. 준비. 스마트 장애 조치를 트리거하려면 트리거 파일을 생성하세요. 단어가 포함된똑똑한또는 그냥 만들고 비워두세요.
빠른 장애 조치 시 서버가 가동됩니다 즉시. 아직 보관되지 않은 아카이브의 모든 WAL 파일 아직 적용되지 않은 모든 거래는 무시됩니다. 해당 파일은 손실됩니다. 빠른 장애 조치를 트리거하려면 다음을 만듭니다. 트리거 파일을 만들고 다음 단어를 씁니다.빠르게그 안으로.스포츠 토토 베트맨또한 다음과 같이 구성할 수 있습니다. 새로운 WAL 파일이 없으면 자동으로 빠른 장애 조치를 실행합니다. 정의된 간격 내에 나타납니다.
스포츠 토토 베트맨수락합니다 다음 명령줄 인수:
사용cp또는복사WAL 파일을 복원하는 명령 아카이브. 이것이 유일하게 지원되는 동작이므로 옵션은 쓸모가 없습니다.
많은 디버그 로깅 출력을 인쇄합니다.stderr.
다음에서 파일 제거보관위치그래서 더 이상은 현재 파일이 보관되기 전의 WAL 파일 수보다 아카이브에서. 0(기본값)은 제거하지 않음을 의미합니다. 다음의 모든 파일보관위치. 이 매개변수 다음과 같은 경우 자동으로 무시됩니다.restartwalfile이후 지정되었습니다. 해당 지정 방법이 결정하는 데 더 정확합니다. 올바른 아카이브 차단 지점. 이 매개변수의 사용 이다지원 중단됨현재PostgreSQL8.3; 그것 a를 지정하는 것이 더 안전하고 효율적입니다.restartwalfile매개변수. A도 작은 설정으로 인해 다음과 같은 파일이 제거될 수 있습니다. 대기 서버를 다시 시작하려면 여전히 필요하지만 너무 큰 설정은 보관 공간을 낭비합니다.
복사를 재시도할 최대 횟수 설정 실패할 경우 명령을 실행합니다(기본값 3). 실패할 때마다 우리는 기다리다수면 시간 * num_retries그래서 대기 시간이 점점 늘어납니다. 기본적으로 우리는 5초, 10초, 15초를 기다린 후 신고하세요. 장애가 발생하면 대기 서버로 다시 돌아갑니다. 이것은 복구가 끝난 것으로 해석되고 대기 모드가 시작됩니다. 결과적으로 완전히 상승했습니다.
초(최대 60, 기본값 5)를 다음으로 설정합니다. WAL 파일이 복원되는지 확인하기 위해 테스트 사이에 휴면 상태를 유지합니다. 아직 아카이브에 있습니다. 기본 설정은 반드시 권장되는 것은 아닙니다. 상담하세요섹션 25.2토론용.
존재가 원인이 되는 트리거 파일을 지정하십시오. 장애 조치. 구조화된 방식을 사용하는 것이 좋습니다. 어떤 서버가 사용되고 있는지에 대한 혼동을 피하기 위한 파일 이름 동일한 시스템에 여러 서버가 존재할 때 트리거됩니다. 예를 들어/tmp/pgsql.trigger.5432.
다음을 기다리는 최대 시간(초)을 설정하십시오 WAL 파일을 생성한 후 빠른 장애 조치가 수행됩니다. 0(기본값)으로 설정하면 영원히 대기한다는 의미입니다. 는 기본 설정이 반드시 권장되는 것은 아닙니다. 상담하세요PostgreSQL : 문서 : 9.1 : 로그 선집 토토 결과 서버용 토론.
Linux 또는 Unix 시스템에서는 다음을 사용할 수 있습니다.
archive_command = 'cp %p .../archive/%f' Restore_command = '스포츠 토토 베트맨 -d -s 2 -t /tmp/pgsql.trigger.5442 .../archive %f %p %r 2standby.log' Recovery_end_command = 'rm -f /tmp/pgsql.trigger.5442'
여기서 아카이브 디렉토리는 물리적으로 다음 위치에 있습니다. 대기 서버이므로archive_commandNFS를 통해 액세스하고 있지만 파일은 대기에 로컬입니다(사용 가능)ln). 이는 다음을 수행합니다.
디버깅 출력 생성standby.log
다음 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' Recovery_end_command = 'del C:\pgsql.trigger.5442'
백슬래시를 두 배로 늘려야 한다는 점에 유의하세요.archive_command하지만아님에서restore_command또는recovery_end_command. 이는 다음을 수행합니다.
다음을 사용하세요복사복원 명령 아카이브의 WAL 파일
디버깅 출력 생성standby.log
다음 WAL 파일 확인 사이에 5초 동안 대기 가용성
트리거 파일이 호출될 때만 대기 중지C:\pgsql.trigger.5442나타나고 수행합니다. 내용에 따른 장애 조치
복구가 끝나면 트리거 파일을 제거
아카이브에서 더 이상 필요하지 않은 파일을 제거합니다. 디렉토리
그복사Windows 세트의 명령 파일이 완전히 복사되기 전의 최종 파일 크기 일반적으로 혼란스러울 것입니다스포츠 토토 베트맨. 그러므로스포츠 토토 베트맨대기수면 시간적절한 파일을 확인한 후 몇 초 크기. GNUWin32의cp파일 크기를 설정합니다 파일 복사가 완료된 후에만 가능합니다.
Windows 예제에서는 다음을 사용하므로복사양쪽 끝에서 서버 중 하나 또는 둘 다에 액세스할 수 있습니다. 네트워크 전체의 아카이브 디렉터리입니다.
스포츠 토토 베트맨다음과 같이 설계되었습니다. 함께 일하다PostgreSQL8.2 및 나중에.
PostgreSQL8.3은 다음을 제공합니다%r다음을 수행하도록 설계된 매크로스포츠 토토 베트맨마지막 파일을 알아요 유지해야합니다. 와 함께PostgreSQL8.2, 그-k아카이브 정리가 필요한 경우 옵션을 사용해야 합니다. 필수. 이 옵션은 8.3에서도 계속 사용할 수 있지만 사용 방법은 다음과 같습니다. 더 이상 사용되지 않습니다.
포스트그레SQL8.4는 다음을 제공합니다recovery_end_command옵션. 없이 이 옵션은 남은 트리거 파일이 위험할 수 있습니다.
사이먼 리그스<simon@2ndquadrant.com