이 문서는 지원되지 않는 스포츠 토토 베트맨 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.와이즈 토토 PostgreSQL : 문서 : 17 : pg_rewind버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

pg_rewind

pg_rewind — 동기화 a포스트그레SQL데이터 디렉토리에서 분기된 다른 데이터 디렉토리가 있는 데이터 디렉토리

시놉시스

pg_rewind [옵션...] { -D | --대상-pgdata } 디렉토리 { --source-pgdata=디렉토리 | --소스-서버=connstr }

설명

pg_rewind은 클러스터의 타임라인이 분기된 후 스포츠 토토 베트맨 클러스터를 동일한 클러스터의 다른 복사본과 동기화하기 위한 도구입니다. 일반적인 시나리오는 장애 조치 후 새 마스터를 따르는 대기 서버로 이전 마스터 서버를 다시 온라인으로 전환하는 것입니다.

결과는 대상 데이터 디렉토리를 소스 디렉토리로 바꾸는 것과 동일합니다. 관계 파일에서 변경된 블록만 복사됩니다. 구성 파일을 포함하여 다른 모든 파일은 전체가 복사됩니다. 의 장점pg_rewind새 기본 백업 수행 또는 다음과 같은 도구rsync, 그렇죠pg_rewind96스포츠 토토 베트맨: 문서: 10: pg_rewind30

pg_rewind소스 및 대상 클러스터의 타임라인 기록을 조사하여 분기된 지점을 확인하고 대상 클러스터에서 WAL을 찾을 것으로 예상합니다.pg_wal디렉토리가 분기점까지 다시 도달합니다. 분기점은 대상 타임라인, 소스 타임라인 또는 공통 조상에서 찾을 수 있습니다. 분기 후 대상 클러스터가 곧 종료되는 일반적인 장애 조치 시나리오에서는 이는 문제가 되지 않지만, 분기 후 대상 클러스터가 오랫동안 실행된 경우 이전 WAL 파일이 더 이상 존재하지 않을 수 있습니다. 이 경우 WAL 아카이브에서 다음으로 수동으로 복사할 수 있습니다.pg_wal디렉토리. 의 사용pg_rewind장애 조치에만 국한되지 않습니다. 예를 들어 대기 서버를 승격하고 일부 쓰기 트랜잭션을 실행한 다음 되돌려 다시 대기 서버가 될 수 있습니다.

실행 후 처음으로 대상 서버를 시작할 때pg_rewind, 복구 모드로 전환되어 분기 지점 이후 소스 서버에서 생성된 모든 WAL을 재생합니다. 다음과 같은 경우 WAL 중 일부를 소스 서버에서 더 이상 사용할 수 없는 경우pg_rewind실행되었으므로 다음으로 복사할 수 없습니다.pg_rewind세션, 대상 서버가 시작될 때 사용할 수 있어야 합니다. 이는 다음을 생성하여 수행할 수 있습니다.recovery.conf적합한 대상 데이터 디렉토리에 파일restore_command.

pg_rewind대상 서버에 다음 중 하나가 필요합니다.wal_log_hints옵션 활성화스포츠 토토 베트맨.conf또는 클러스터가 초기화되었을 때 활성화된 데이터 체크섬initdb. 이들 중 어느 것도 현재 기본적으로 켜져 있지 않습니다.full_page_writes또한 다음으로 설정되어야 합니다.켜짐, 그러나 기본적으로 활성화되어 있습니다.

경고

만약pg_rewind처리 중 실패하면 대상의 데이터 폴더가 복구할 수 있는 상태가 아닐 가능성이 높습니다. 이러한 경우에는 새로 백업하는 것이 좋습니다.

pg_rewind직접 쓸 수 없는 파일을 찾으면 즉시 실패합니다. 예를 들어 소스와 대상 서버가 읽기 전용 SSL 키 및 인증서에 대해 동일한 파일 매핑을 사용하는 경우 이런 일이 발생할 수 있습니다. 이러한 파일이 대상 서버에 있는 경우 실행하기 전에 해당 파일을 제거하는 것이 좋습니다.pg_rewind. 되감기를 수행한 후 해당 파일 중 일부가 소스에서 복사되었을 수 있으며, 이 경우 복사된 데이터를 제거하고 되감기 전에 사용된 링크 집합을 다시 복원해야 할 수 있습니다.

옵션

pg_rewind다음 명령줄 인수를 허용합니다:

-D디렉토리
--target-pgdata=디렉토리

이 옵션은 소스와 동기화되는 대상 데이터 디렉터리를 지정합니다. 실행하기 전에 대상 서버를 완전히 종료해야 합니다.pg_rewind

--source-pgdata=디렉토리

대상을 동기화할 원본 서버의 데이터 디렉토리에 대한 파일 시스템 경로를 지정합니다. 이 옵션을 사용하려면 원본 서버를 완전히 종료해야 합니다.

--소스-서버=connstr

소스에 연결할 libpq 연결 문자열을 지정합니다.스포츠 토토 베트맨대상을 동기화할 서버입니다. 연결은 수퍼유저 액세스가 가능한 일반(비복제) 연결이어야 합니다. 이 옵션을 사용하려면 원본 서버가 복구 모드가 아닌 실행 중이어야 합니다.

-n
--시험 실행

실제로 대상 디렉토리를 수정하는 것을 제외한 모든 작업을 수행하십시오.

-P
--진행

진행상황 보고를 활성화합니다. 이 기능을 켜면 소스 클러스터에서 데이터를 복사하는 동안 대략적인 진행 상황 보고서가 제공됩니다.

--디버그

개발자 디버깅에 가장 유용한 자세한 디버깅 출력 인쇄pg_rewind.

-V
--버전

버전 정보를 표시하고 종료합니다.

-?
--도움말

도움말을 표시한 후 종료하세요.

환경

언제--소스-서버옵션이 사용되었습니다.pg_rewind또한 다음에서 지원하는 환경 변수를 사용합니다libpq(참조PostgreSQL : 문서 : 10 : 33.14. 환경 와이즈 토토).

참고

실행 시pg_rewind최근 승격된 소스로 온라인 클러스터를 사용하려면 다음을 실행해야 합니다.체크포인트승격 후 제어 파일은 다음에서 사용되는 최신 타임라인 정보를 반영합니다.pg_rewind지정된 소스 클러스터를 사용하여 대상 클러스터를 되돌릴 수 있는지 확인합니다.

작동 방식

기본 아이디어는 모든 파일 시스템 수준 변경 사항을 원본 클러스터에서 대상 클러스터로 복사하는 것입니다.

  1. 소스 클러스터의 타임라인 기록이 대상 클러스터에서 분기된 지점 이전의 마지막 체크포인트부터 시작하여 대상 클러스터의 WAL 로그를 스캔합니다. 각 WAL 레코드에 대해 터치된 각 데이터 블록을 기록합니다. 그러면 소스 클러스터가 분기된 후 대상 클러스터에서 변경된 모든 데이터 블록의 목록이 생성됩니다.

  2. 직접 파일 시스템 액세스를 사용하여 소스 클러스터에서 변경된 모든 블록을 대상 클러스터로 복사합니다. (--source-pgdata) 또는 SQL(--소스-서버).

  3. 다음과 같은 다른 모든 파일 복사pg_xact및 소스 클러스터에서 대상 클러스터로의 구성 파일(관계 파일을 제외한 모든 것).

  4. 장애 조치 시 생성된 체크포인트부터 시작하여 소스 클러스터에서 WAL을 적용합니다. (엄밀히 말하면,)pg_rewindWAL을 적용하지 않고 단지 다음을 만드는 백업 레이블 파일을 생성합니다.스포츠 토토 베트맨해당 체크포인트부터 모든 WAL을 재생하여 시작합니다.)