이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : O.4. pg_resetxlog pg_resetwal로 메이저 토토 사이트 변경되었습니다버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

토토 사이트

이름

토토 사이트 -- a의 미리 쓰기 로그 및 기타 제어 정보를 재설정합니다.PostgreSQL데이터베이스 클러스터

시놉시스

토토 사이트 [-f] [-n] [옵션...] {[-D] datadir}

설명

토토 사이트미리 쓰기 로그(WAL)를 지우고 선택적으로 다음에 저장된 일부 다른 제어 정보를 재설정합니다.pg_control파일. 이 기능은 파일이 손상된 경우 때때로 필요합니다. 이러한 손상으로 인해 서버가 시작되지 않을 경우 최후의 수단으로만 사용해야 합니다.

이 명령을 실행한 후 서버를 시작할 수 있지만 부분적으로 커밋된 트랜잭션으로 인해 데이터베이스에 일관성 없는 데이터가 포함될 수 있다는 점을 명심하십시오. 즉시 데이터를 덤프하고 실행해야 합니다.initdb하고 다시 로드하세요. 다시 로드한 후 불일치를 확인하고 필요에 따라 수정하세요.

이 유틸리티는 데이터 디렉토리에 대한 읽기/쓰기 액세스가 필요하기 때문에 서버를 설치한 사용자만 실행할 수 있습니다. 안전상의 이유로 명령줄에서 데이터 디렉터리를 지정해야 합니다.토토 사이트환경 변수를 사용하지 않습니다PGDATA.

만약토토 사이트유효한 데이터를 결정할 수 없다고 불평함pg_control, 다음을 지정하여 강제로 계속 진행할 수 있습니다.-f(강제) 옵션. 이 경우 누락된 데이터는 그럴듯한 값으로 대체됩니다. 대부분의 필드가 일치할 것으로 예상할 수 있지만 다음 OID, 다음 트랜잭션 ID 및 에포크, 다음 다중 트랜잭션 ID 및 오프셋, WAL 시작 주소 필드에 대해서는 수동 지원이 필요할 수 있습니다. 이러한 필드는 아래 설명된 옵션을 사용하여 설정할 수 있습니다. 이러한 모든 필드에 대해 올바른 값을 결정할 수 없는 경우,-f여전히 사용할 수 있지만 복구된 데이터베이스는 평소보다 훨씬 더 의심스럽게 처리해야 합니다. 즉시 덤프하고 다시 로드해야 합니다.하지 마세요덤프하기 전에 데이터베이스에서 데이터 수정 작업을 실행하십시오. 이러한 작업은 손상을 더욱 악화시킬 수 있습니다.

옵션

-f

포스토토 사이트유효한 데이터를 확인할 수 없더라도 계속 진행pg_control, 위에서 설명한 대로입니다.

-n

-n(작업 없음) 옵션 지시토토 사이트재구성된 값을 인쇄하려면pg_control및 값이 변경될 예정이며 아무것도 수정하지 않고 종료됩니다. 이는 주로 디버깅 도구이지만 허용하기 전에 온전한지 확인하는 데 유용할 수 있습니다.토토 사이트실제로 진행합니다.

-V
--버전

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

-?
--도움말

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

다음 옵션은 다음 경우에만 필요합니다.토토 사이트읽어 적절한 값을 결정할 수 없습니다.pg_control. 안전한 값은 아래 설명에 따라 결정될 수 있습니다. 숫자 인수를 사용하는 값의 경우 접두사를 사용하여 16진수 값을 지정할 수 있습니다.0x.

-c xid,xid

커밋 시간을 검색할 수 있는 가장 오래되고 최신 트랜잭션 ID를 수동으로 설정하십시오.

커밋 시간을 검색할 수 있는 가장 오래된 트랜잭션 ID의 안전한 값(첫 번째 부분)은 디렉토리에서 숫자로 가장 작은 파일 이름을 찾아 결정할 수 있습니다.pg_commit_ts데이터 디렉토리 아래. 반대로, 커밋 시간을 검색할 수 있는 최신 트랜잭션 ID(두 번째 부분)의 안전한 값은 동일한 디렉터리에서 수치적으로 가장 큰 파일 이름을 찾아 확인할 수 있습니다. 파일 이름은 16진수입니다.

-e xid_epoch

다음 거래 ID의 에포크를 수동으로 설정하십시오.

트랜잭션 ID 에포크는 다음에 의해 설정된 필드를 제외하고 데이터베이스의 어느 곳에도 실제로 저장되지 않습니다.토토 사이트, 따라서 데이터베이스 자체에 관한 한 모든 값이 작동합니다. 다음과 같은 복제 시스템이 작동하도록 하려면 이 값을 조정해야 할 수도 있습니다.슬로니-I그리고스카이툴즈올바르게 작동합니다. 그렇다면 다운스트림 복제 데이터베이스의 상태에서 적절한 값을 얻을 수 있어야 합니다.

-l xlog파일

WAL 시작 주소를 수동으로 설정하십시오.

WAL 시작 주소는 현재 디렉토리에 존재하는 WAL 세그먼트 파일 이름보다 커야 합니다.pg_xlog데이터 디렉토리 아래. 이 이름도 16진수로 되어 있으며 세 부분으로 구성됩니다. 첫 번째 부분은"타임라인 ID"일반적으로 동일하게 유지되어야 합니다. 예를 들어, 만약00000001000000320000004A은에서 가장 큰 항목입니다.pg_xlog, 사용-l 00000001000000320000004B이상.

참고: 토토 사이트자체는 다음의 파일을 봅니다pg_xlog기본값을 선택합니다-l마지막 기존 파일 이름을 넘어서는 설정입니다. 따라서 수동 조정-l현재 존재하지 않는 WAL 세그먼트 파일을 알고 있는 경우에만 필요합니다.pg_xlog(예: 오프라인 아카이브의 항목) 또는 다음의 내용인 경우pg_xlog완전히 사라졌습니다.

-m mxid,mxid

다음이자 가장 오래된 다중 트랜잭션 ID를 수동으로 설정하십시오.

다음 다중 트랜잭션 ID(첫 번째 부분)의 안전한 값은 디렉토리에서 수치적으로 가장 큰 파일 이름을 찾아 결정할 수 있습니다.pg_multixact/오프셋데이터 디렉토리 아래에 1을 더한 후 65536(0x10000)을 곱합니다. 반대로, 가장 오래된 다중 거래 ID에 대한 안전한 값(두 번째 부분-m)은 동일한 디렉터리에서 숫자로 가장 작은 파일 이름을 찾아 65536을 곱하여 결정할 수 있습니다. 파일 이름은 16진수이므로 이를 수행하는 가장 쉬운 방법은 옵션 값을 16진수로 지정하고 4개의 0을 추가하는 것입니다.

-o oid

다음 OID를 수동으로 설정하십시오.

데이터베이스에서 가장 큰 OID를 넘어서는 다음 OID를 결정하는 비교적 쉬운 방법은 없지만 다행히 다음 OID 설정을 올바르게 얻는 것은 중요하지 않습니다.

-O mxoff

다음 다중 트랜잭션 오프셋을 수동으로 설정하십시오.

디렉토리에서 수치적으로 가장 큰 파일 이름을 찾아 안전한 값을 결정할 수 있습니다.pg_multixact/members데이터 디렉토리 아래에 1을 더한 후 52352(0xCC80)를 곱합니다. 파일 이름은 16진수입니다. 0을 추가하는 다른 옵션과 같은 간단한 방법은 없습니다.

-uxid

가장 오래되고 고정되지 않은 거래 ID를 수동으로 설정합니다.

디렉토리에서 숫자로 가장 작은 파일 이름을 찾아 안전한 값을 결정할 수 있습니다.pg_xact데이터 디렉토리 아래에 1048576(0x100000)을 곱합니다. 파일 이름은 16진수로 되어 있습니다. 일반적으로 옵션 값을 16진수로 지정하는 것이 가장 쉽습니다. 예를 들어, 만약0007은에서 가장 작은 항목입니다.pg_xact, -u 0x700000작동합니다(5개의 후행 0이 적절한 승수를 제공합니다).

-x xid

다음 거래 ID를 수동으로 설정하세요.

디렉토리에서 수치적으로 가장 큰 파일 이름을 찾아 안전한 값을 결정할 수 있습니다.pg_clog데이터 디렉토리 아래에 1을 더한 후 1048576(0x100000)을 곱합니다. 파일 이름은 16진수로 되어 있습니다. 일반적으로 옵션 값을 16진수로 지정하는 것이 가장 쉽습니다. 예를 들어, 만약0011은에서 가장 큰 항목입니다.pg_clog, -x 0x1200000작동합니다(5개의 후행 0이 적절한 승수를 제공합니다).

참고

이 명령은 서버가 실행 중일 때 사용되어서는 안됩니다.토토 사이트데이터 디렉토리에서 서버 잠금 파일을 찾으면 시작을 거부합니다. 서버가 충돌한 경우 잠금 파일이 남아 있을 수 있습니다. 이 경우 잠금 파일을 제거하여 허용할 수 있습니다.토토 사이트실행합니다. 하지만 그렇게 하기 전에 아직 살아있는 서버 프로세스가 없는지 이중으로 확인하세요.

토토 사이트동일한 주요 버전의 서버에서만 작동합니다.