| 윈 토토 : 문서 : 9.4 : 윈 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.4 : 토토 캔 | PostgreSQL : 문서 : 9.4 : PostgreSQL 서버 응용 범퍼카 토토 | 무지개 토토QL : 문서 : 9.4 : 무지개 토토 | |
범퍼카 토토 [-f] [-n] [-o oid] [-x xid] [-e xid_epoch] [-m mxid,mxid] [-O mxoff] [-l xlog파일] datadir
범퍼카 토토WAL(미리 쓰기 로그)을 지우고 선택적으로 다음에 저장된 일부 다른 제어 정보를 재설정합니다.pg_control파일. 이 기능은 파일이 손상된 경우 때때로 필요합니다. 이러한 손상으로 인해 서버가 시작되지 않을 경우 최후의 수단으로만 사용해야 합니다.
이 명령을 실행한 후 서버를 시작할 수 있지만 부분적으로 커밋된 트랜잭션으로 인해 데이터베이스에 일관성 없는 데이터가 포함될 수 있다는 점을 명심하십시오. 즉시 데이터를 덤프하고 실행해야 합니다.initdb하고 다시 로드하세요. 다시 로드한 후 불일치를 확인하고 필요에 따라 수정하세요.
이 유틸리티는 데이터 디렉토리에 대한 읽기/쓰기 액세스가 필요하기 때문에 서버를 설치한 사용자만 실행할 수 있습니다. 안전상의 이유로 명령줄에서 데이터 디렉터리를 지정해야 합니다.범퍼카 토토환경 변수를 사용하지 않습니다PGDATA.
만약범퍼카 토토유효한 데이터를 결정할 수 없다고 불평함pg_control, 다음을 지정하여 강제로 계속 진행할 수 있습니다.-f(강제) 옵션. 이 경우 누락된 데이터는 그럴듯한 값으로 대체됩니다. 대부분의 필드가 일치할 것으로 예상할 수 있지만 다음 OID, 다음 트랜잭션 ID 및 에포크, 다음 다중 트랜잭션 ID 및 오프셋, WAL 시작 주소 필드에 대해서는 수동 지원이 필요할 수 있습니다. 이러한 필드는 아래 설명된 옵션을 사용하여 설정할 수 있습니다. 이러한 모든 필드에 대해 올바른 값을 결정할 수 없는 경우,-f여전히 사용할 수 있지만 복구된 데이터베이스는 평소보다 훨씬 더 의심스럽게 처리해야 합니다. 즉시 덤프하고 다시 로드해야 합니다.하지 마세요덤프하기 전에 데이터베이스에서 데이터 수정 작업을 실행하십시오. 그러한 작업은 손상을 더욱 악화시킬 수 있습니다.
그-o, -x, -e, -m, -O및-l옵션을 사용하면 다음 OID, 다음 트랜잭션 ID, 다음 트랜잭션 ID의 에포크, 다음 및 가장 오래된 다중 트랜잭션 ID, 다음 다중 트랜잭션 오프셋 및 WAL 시작 주소 값을 수동으로 설정할 수 있습니다. 이는 다음 경우에만 필요합니다.범퍼카 토토읽어 적절한 값을 결정할 수 없습니다.pg_control. 안전한 값은 다음과 같이 결정될 수 있습니다.
다음 거래 ID의 안전한 값(-x)는 디렉터리에서 숫자로 가장 큰 파일 이름을 찾아 확인할 수 있습니다.pg_clog데이터 디렉토리 아래에 1을 더한 다음 1048576을 곱합니다. 파일 이름은 16진수입니다. 일반적으로 옵션 값을 16진수로 지정하는 것이 가장 쉽습니다. 예를 들어, 만약0011은에서 가장 큰 항목입니다.pg_clog, -x 0x1200000작동합니다(5개의 후행 0이 적절한 승수를 제공합니다).
다음 다중 트랜잭션 ID의 안전한 값(첫 번째 부분-m)은 디렉터리에서 숫자로 가장 큰 파일 이름을 찾아 확인할 수 있습니다.pg_multixact/오프셋데이터 디렉토리 아래에 1을 더한 다음 65536을 곱합니다. 반대로 가장 오래된 다중 트랜잭션 ID에 대한 안전한 값(두 번째 부분-m)은 동일한 디렉터리에서 숫자로 가장 작은 파일 이름을 찾아 65536을 곱하여 결정할 수 있습니다. 위와 마찬가지로 파일 이름은 16진수이므로 이를 수행하는 가장 쉬운 방법은 옵션 값을 16진수로 지정하고 4개의 0을 추가하는 것입니다.
다음 다중 트랜잭션 오프셋을 위한 안전한 값(-O)은 디렉터리에서 숫자로 가장 큰 파일 이름을 찾아 확인할 수 있습니다.pg_multixact/members데이터 디렉터리 아래에 1을 더한 후 52352를 곱합니다. 위와 같이 파일 이름은 16진수입니다. 0을 추가하는 위와 같은 간단한 방법은 없습니다.
WAL 시작 주소(-l)은 현재 디렉터리에 존재하는 WAL 세그먼트 파일 이름보다 커야 합니다.pg_xlog데이터 디렉토리 아래. 이 이름도 16진수로 되어 있으며 세 부분으로 구성됩니다. 첫 번째 부분은"타임라인 ID"일반적으로 동일하게 유지되어야 합니다. 예를 들어, 만약00000001000000320000004A다음에서 가장 큰 항목입니다.pg_xlog, 사용-l 00000001000000320000004B이상.
참고: 범퍼카 토토자체는 다음의 파일을 봅니다pg_xlog기본값을 선택합니다-l마지막 기존 파일 이름을 넘어서는 설정입니다. 따라서 수동 조정-l현재 존재하지 않는 WAL 세그먼트 파일을 알고 있는 경우에만 필요합니다.pg_xlog(예: 오프라인 아카이브의 항목) 또는 다음의 내용인 경우pg_xlog완전히 사라졌습니다.
데이터베이스에서 가장 큰 OID를 넘어서는 다음 OID를 결정하는 비교적 쉬운 방법은 없지만 다행히 다음 OID 설정을 올바르게 얻는 것은 중요하지 않습니다.
트랜잭션 ID 에포크는 다음에 의해 설정된 필드를 제외하고 데이터베이스의 어느 곳에도 실제로 저장되지 않습니다.범퍼카 토토, 따라서 데이터베이스 자체에 관한 한 모든 값이 작동합니다. 다음과 같은 복제 시스템이 작동하도록 하려면 이 값을 조정해야 할 수도 있습니다.슬로니-I올바르게 작동합니다. 그렇다면 다운스트림 복제 데이터베이스의 상태에서 적절한 값을 얻을 수 있어야 합니다.
그-n(작업 없음) 옵션 지시범퍼카 토토재구성된 값을 인쇄하려면pg_control및 값이 변경될 예정이며 아무것도 수정하지 않고 종료됩니다. 이는 주로 디버깅 도구이지만 허용하기 전에 온전한지 확인하는 데 유용할 수 있습니다.범퍼카 토토실제로 진행합니다.
그-V그리고--버전옵션 인쇄범퍼카 토토버전을 종료하고 종료합니다. 옵션-?그리고--도움말지원되는 인수를 표시하고 종료합니다.