사설 토토쓰기 로그를 지 웁니다 (WAL) 및 선택적으로 저장된 다른 제어 정보를 재설정합니다 에서PG_CONTROL파일. 이 기능은입니다 이 파일이 손상되면 때때로 필요합니다. 그럴 것입니다 서버가 그런 부패.
이 명령을 실행 한 후 서버이지만 데이터베이스에 포함될 수 있음을 명심하십시오. 부분적으로 커밋 된 트랜잭션으로 인한 일관성없는 데이터. 너 즉시 데이터를 덤프해야합니다. runinitdb및 다시로드. 다시로드 후 확인하십시오 필요에 따라 불일치 및 수리.
이 유틸리티는 설치 한 사용자 만 실행할 수 있습니다. 데이터에 대한 읽기/쓰기 액세스가 필요하기 때문에 서버 예배 규칙서. 안전상의 이유로 데이터 디렉토리를 지정해야합니다 명령 줄에서.사설 토토그렇지 않습니다 환경 변수 사용pgdata.
if사설 토토이를 불평합니다 에 대한 유효한 데이터를 결정할 수 없습니다.PG_CONTROL, 어쨌든 진행하도록 강요 할 수 있습니다 지정-f(힘) 옵션. 이것에서 사례 그럴듯한 값은 누락 된 데이터로 대체됩니다. 대부분의 필드는 일치 할 것으로 예상 될 수 있지만 수동 지원 다음 OID, 다음 거래 ID 및 Epoch에 필요할 수 있습니다. 다음 Multitransaction ID 및 오프셋 및 WAL 시작 주소 전지. 이 필드는 아래에 설명 된 옵션을 사용하여 설정할 수 있습니다. 이 모든 것에 대한 올바른 값을 결정할 수 없다면 전지,-f여전히 사용할 수 있지만 복구 된 데이터베이스는 평소 : 즉시 덤프와 재 장전이 필수적입니다.do not데이터 수정을 실행합니다 덤프하기 전에 데이터베이스에서의 작업은 부패를 악화시킬 가능성이 높습니다.
the-o, -x, -e, -m, -o및-l옵션 허용 다음 OID, 다음 트랜잭션 ID, 다음 트랜잭션 ID의 epoch, Next 그리고 가장 오래된 multitransaction ID, 다음 Multitransaction Offset 및 WAL 시작 주소 값은 수동으로 설정됩니다. 이것들은 전혀입니다 필요할 때사설 토토읽어서 적절한 값 결정PG_CONTROL. 안전한 값은 다음과 같이 결정할 수 있습니다 다음은 다음과 같습니다.
다음 거래 ID (의 안전한 값-x)는 수치 적으로 찾아 결정할 수 있습니다 디렉토리에서 가장 큰 파일 이름PG_CLOG데이터 디렉토리 아래에 하나를 추가하고 그런 다음 1048576을 곱합니다. 파일 이름이 16 진. 일반적으로 옵션 값을 지정하는 것이 가장 쉽습니다. 16 진수. 예를 들어, if0011is 에서 가장 큰 항목PG_CLOG, -x 0x1200000작동합니다 (5 개의 후행 제로가 제공됩니다 적절한 승수).
다음 Multitransaction ID의 안전한 값 (의 첫 부분-m)를 찾아 결정할 수 있습니다 디렉토리에서 숫자로 가장 큰 파일 이름pg_multixact/오프셋데이터 디렉토리 아래, 하나를 추가 한 다음 65536을 곱합니다. 반대로 안전한 가치 가장 오래된 Multitransaction ID의 경우 (의 두 번째 부분-m)는 수치 적으로 찾아 결정할 수 있습니다 동일한 디렉토리에서 가장 작은 파일 이름과 65536을 곱합니다. 위와 같이 파일 이름은 16 진수이므로 가장 쉬운 방법입니다. 이렇게하면 옵션 값을 16 진수로 지정하고 추가하는 것입니다. 네 개의 0.
다음 Multitransaction Offset (에 대한 안전한 값-o)는 수치 적으로 찾아 결정할 수 있습니다 디렉토리에서 가장 큰 파일 이름PG_MULTIXACT/회원데이터 디렉토리 아래, 하나를 추가 한 다음 52352를 곱합니다. 위와 같이 파일 이름 16 진수에 있습니다. 것과 같은 간단한 레시피는 없습니다 추가 0 위.
WAL 시작 주소 (-l) 현재 존재하는 WAL 세그먼트 파일 이름보다 큽니다. 예배 규칙서PG_XLOG데이터에 따라 예배 규칙서. 이 이름은 또한 16 진수이며 세 가지가 있습니다 부분품. 첫 번째 부분은입니다."타임 라인 ID"일반적으로 동일하게 유지해야합니다. 예를 들어, if000000010000320000004A가장 큰 것입니다 입장PG_XLOG, 사용-L 00000000000320000004B이상.
참고 : 사설 토토그 자체가 보입니다 의 파일에서PG_XLOGa 기본-l마지막 기존을 넘어 설정 파일 이름. 따라서 수동 조정-lWAL을 알고있는 경우에만 필요합니다. 현재 존재하지 않는 세그먼트 파일PG_XLOG16326_16391PG_XLOG손실되었습니다 전적으로.
다음 OID를 결정하는 쉬운 방법은 없습니다. 데이터베이스에서 가장 큰 것 외에는 다음 설정을 제대로 얻는 데 중요합니다.
트랜잭션 ID Epoch는 실제로 어디에나 저장되지 않습니다. 에 의해 설정된 필드를 제외한 데이터베이스사설 토토, 따라서 모든 값은 데이터베이스 자체가 관련이 있습니다. 이 값을 조정해야 할 수도 있습니다 다음과 같은 복제 시스템을 보장하려면16999_17008올바르게 작업하십시오 - 그렇다면 적절한 경우 하류 상태에서 값을 얻을 수 있어야합니다. 복제 된 데이터베이스.
the-n(작동 없음) 옵션 지침사설 토토값을 인쇄하려면 에서 재구성PG_CONTROL그리고 그런 다음 아무것도 수정하지 않고 종료하십시오. 이것은 주로 디버깅 도구입니다. 그러나 허용하기 전에 정신 점검으로 유용 할 수 있습니다사설 토토Real로 진행하려면.
the-vand-버전옵션 인쇄사설 토토버전 및 종료. 옵션-?및-help쇼 뒷받침되는 주장 및 종료
서버가 실행 중일 때이 명령을 사용해서는 안됩니다.사설 토토경우 시작을 거부합니다 데이터 디렉토리에서 서버 잠금 파일을 찾습니다. 서버 인 경우 충돌하면 잠금 파일이 남았을 수 있습니다. 이 경우 허용 할 잠금 파일을 제거 할 수 있습니다사설 토토실행. 그러나 그렇게하기 전에, 만들기 서버 프로세스가 아직 살아남은지 확실하게 확신합니다.
사설 토토서버에서만 작동합니다 동일한 주요 버전.
PostgreSQL : 문서 : 9.3 : 범퍼카 토토 | 배트맨 사설 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
PG_CTL | up | Postgres |