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