English프랑스어스페인어

온웍스 파비콘

pg_rewind - 클라우드의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 pg_rewind 실행

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 pg_rewind 명령입니다.

프로그램:

이름


pg_rewind - PostgreSQL 데이터 디렉토리를 이전에 있었던 다른 데이터 디렉토리와 동기화합니다.
첫 번째에서 분기

개요


pg_rewind [option...] {-D | --target-pgdata} 예배 규칙서 {--소스-pgdata=예배 규칙서 |
--소스 서버=constr}

기술


pg_rewind는 PostgreSQL 클러스터를 동일한 클러스터의 다른 복사본과 동기화하기 위한 도구입니다.
클러스터의 타임라인이 분기된 후. 일반적인 시나리오는
페일오버 후 기존 마스터 서버를 다시 온라인 상태로 전환하고 새 마스터를 뒤따르는 대기로 전환합니다.

결과는 대상 데이터 디렉터리를 원본 디렉터리로 바꾸는 것과 같습니다. 모두
구성 파일을 포함하여 파일이 복사됩니다. 복용보다 pg_rewind의 장점
새로운 기본 백업 또는 rsync와 같은 도구는 pg_rewind가 전체를 읽을 필요가 없다는 것입니다.
클러스터의 모든 변경되지 않은 파일. 데이터베이스가 클 때 훨씬 빨라집니다.
그리고 그것의 작은 부분만이 클러스터 사이에서 다릅니다.

pg_rewind는 소스 및 대상 클러스터의 타임라인 기록을 검사하여
분기점이며 대상 클러스터의 pg_xlog에서 WAL을 찾을 것으로 예상됩니다.
분기점까지 다시 도달하는 디렉토리. 일반적인 장애 조치에서
대상 클러스터가 분기 직후 종료된 시나리오는
문제가 있지만 대상 클러스터가 분기 후 오랜 시간 동안 실행된 경우 이전
WAL 파일이 더 이상 존재하지 않을 수 있습니다. 이 경우 수동으로 복사할 수 있습니다.
pg_xlog 디렉토리에 WAL 아카이브. WAL 아카이브에서 누락된 파일 가져오기
자동은 현재 지원되지 않습니다.

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

pg_rewind를 사용하려면 대상 서버에 wal_log_hints 옵션이 활성화되어 있어야 합니다.
postgresql.conf에서 또는 클러스터가 초기화될 때 데이터 체크섬이 활성화되었는지 여부
initdb와 함께. 이들 중 어느 것도 현재 기본적으로 켜져 있지 않습니다. full_page_writes도 있어야 합니다.
활성화. 그것이 기본값입니다.

옵션


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

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

--소스-pgdata=예배 규칙서
대상을 동기화하기 위해 소스 서버의 데이터 디렉토리에 대한 경로를 지정합니다.
와 함께. 언제 --소스-pgdata 사용하는 경우 원본 서버를 완전히 종료해야 합니다.

--소스 서버=constr
원본 PostgreSQL 서버에 연결할 libpq 연결 문자열을 지정합니다.
대상을 동기화합니다. 연결은 정상이어야 합니다(비복제).
수퍼유저 액세스로 연결합니다. 서버가 가동되어 실행 중이어야 하며 다음 상태가 아니어야 합니다.
복구 모드에서.

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

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

-디버그
개발자 디버깅에 주로 유용한 자세한 디버깅 출력을 인쇄합니다.
페이지 되감기.

-V
--번역
버전 정보를 표시한 다음 종료합니다.

-?
--도움
도움말을 표시한 다음 종료합니다.

환경


인셀덤 공식 판매점인 --소스 서버 옵션이 사용되면 pg_rewind도 환경 변수를 사용합니다.
libpq에서 지원합니다(문서의 31.14절. “환경 변수” 참조).

노트


방법 it
기본 아이디어는 다음을 제외하고 새 클러스터에서 이전 클러스터로 모든 것을 복사하는 것입니다.
우리가 알고 있는 블록은 동일합니다.

1. 이전 클러스터의 WAL 로그를 스캔하기 전 마지막 체크포인트부터 시작합니다.
새 클러스터의 타임라인 기록이 이전 클러스터에서 분기된 지점입니다. 을위한
각 WAL 레코드에서 터치된 데이터 블록을 기록해 둡니다. 이것은 목록을 생성합니다
새 클러스터 이후에 이전 클러스터에서 변경된 모든 데이터 블록의
갈라졌다.

2. 변경된 모든 블록을 새 클러스터에서 이전 클러스터로 복사합니다.

3. 새 클러스터에서 clog 및 구성 파일과 같은 다른 모든 파일을
오래된 클러스터, 관계 파일을 제외한 모든 것.

4. 장애 조치 시 생성된 체크포인트부터 시작하여 새 클러스터에서 WAL을 적용합니다.
(엄밀히 말하면 pg_rewind는 WAL을 적용하지 않고 백업 레이블만 생성합니다.
PostgreSQL이 시작되면 해당 파일에서 재생이 시작됨을 나타내는 파일
체크포인트하고 필요한 모든 WAL을 적용하십시오.)

onworks.net 서비스를 사용하여 온라인으로 pg_rewind 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad