pg_amcheck

pg_amcheck — 하나 이상의 손상을 확인합니다.포스트그레SQL데이터베이스

시놉시스

pg_amcheck [옵션...] [db이름]

설명

pg_amcheck실행 지원PostgreSQL : 문서 : 17 : F.1. AMCHECK - 테이블 및 색인 일관성을 무지개 토토하는 도구의 손상 검사 기능은 검사할 스키마, 테이블 및 인덱스, 수행할 검사 종류, 검사를 병렬로 수행할지 여부, 그리고 그렇다면 설정하고 사용할 병렬 연결 수를 선택하는 옵션이 포함되어 있습니다.

현재 일반 및 토스트 테이블 관계, 구체화된 뷰, 시퀀스 및 btree 인덱스만 지원됩니다. 다른 관계 유형은 자동으로 건너뜁니다.

만약db이름이 지정되면 확인할 단일 데이터베이스의 이름이어야 하며 다른 데이터베이스 선택 옵션이 없어야 합니다. 그렇지 않고 데이터베이스 선택 옵션이 있으면 일치하는 모든 데이터베이스가 확인됩니다. 해당 옵션이 없으면 기본 데이터베이스가 확인됩니다. 데이터베이스 선택 옵션은 다음과 같습니다.--모두, --데이터베이스그리고--제외-데이터베이스. 여기에는 다음이 포함됩니다.--관계, --제외 관계, --테이블, --제외 테이블, --색인그리고--제외-색인, 그러나 이러한 옵션이 세 부분으로 구성된 패턴과 함께 사용되는 경우에만 해당됩니다(예:mydb*.myschema*.myrel*). 마지막으로 여기에는 다음이 포함됩니다.--스키마그리고--제외-스키마이러한 옵션이 두 부분으로 구성된 패턴과 함께 사용되는 경우(예:mydb*.myschema*).

db이름또한 다음이 될 수 있습니다연결 문자열.

옵션

다음 명령줄 옵션은 검사 내용을 제어합니다:

-a
--모두

다음을 통해 제외된 데이터베이스를 제외한 모든 데이터베이스 확인--제외-데이터베이스.

-d패턴
--데이터베이스=패턴

지정된 것과 일치하는 데이터베이스 확인패턴, 제외된 항목 제외--제외-데이터베이스. 이 옵션은 두 번 이상 지정할 수 있습니다.

-D패턴
--제외-데이터베이스=패턴

주어진 내용과 일치하는 데이터베이스 제외패턴. 이 옵션은 두 번 이상 지정할 수 있습니다.

-i패턴
--색인=패턴

지정된 것과 일치하는 색인 확인패턴(달리 제외되지 않는 한) 이 옵션은 두 번 이상 지정할 수 있습니다.

이것은 다음과 유사합니다--관계옵션, 단, 인덱스에만 적용되고 다른 관계 유형에는 적용되지 않습니다.

-나패턴
--제외-색인=패턴

지정된 것과 일치하는 색인 제외패턴. 이 옵션은 두 번 이상 지정할 수 있습니다.

이것은 다음과 유사합니다.--제외-관계옵션, 단, 인덱스에만 적용되고 다른 관계 유형에는 적용되지 않습니다.

-r패턴
--관계=패턴

지정된 것과 일치하는 관계를 확인하세요패턴(달리 제외되지 않는 한) 이 옵션은 두 번 이상 지정할 수 있습니다.

패턴이 적합하지 않을 수 있습니다. 예:마이렐*또는 스키마 한정형일 수 있습니다. 예:myschema*.myrel*또는 데이터베이스 정규화 및 스키마 정규화, 예:mydb*.myschema*.myrel*. 데이터베이스 한정 패턴은 확인할 데이터베이스 목록에 일치하는 데이터베이스를 추가합니다.

-R패턴
--제외-관계=패턴

지정된 것과 일치하는 관계 제외패턴. 이 옵션은 두 번 이상 지정할 수 있습니다.

와 마찬가지로--관계, 그패턴적격하지 않거나, 스키마에 적합하거나, 데이터베이스 및 스키마에 적합할 수 있습니다.

-s패턴
--스키마=패턴

지정된 것과 일치하는 스키마의 테이블 및 인덱스 확인패턴(달리 제외되지 않는 한) 이 옵션은 두 번 이상 지정할 수 있습니다.

특정 패턴과 일치하는 스키마의 테이블만 선택하려면 다음과 같은 것을 사용하는 것을 고려하십시오.--table=SCHEMAPAT.* --no-dependent-indexes. 인덱스만 선택하려면 다음과 같은 것을 사용해 보세요.--index=SCHEMAPAT.*.

스키마 패턴은 데이터베이스에 적합할 수 있습니다. 예를 들어 다음과 같이 쓸 수 있습니다.--schema=mydb*.myschema*일치하는 스키마 선택미스키마*데이터베이스 일치mydb*.

-S패턴
--제외-스키마=패턴

지정된 것과 일치하는 스키마의 테이블 및 인덱스 제외패턴. 이 옵션은 두 번 이상 지정할 수 있습니다.

다음과 같이--스키마, 패턴은 데이터베이스에 적합할 수 있습니다.

-t패턴
--테이블=패턴

지정된 것과 일치하는 테이블 확인패턴(달리 제외되지 않는 한) 이 옵션은 두 번 이상 지정할 수 있습니다.

이것은 다음과 유사합니다.--관계옵션. 단, 테이블, 구체화된 뷰 및 시퀀스에만 적용되고 인덱스에는 적용되지 않습니다.

-티패턴
--제외 테이블=패턴

지정된 항목과 일치하는 테이블 제외패턴. 이 옵션은 두 번 이상 지정할 수 있습니다.

이것은 다음과 유사합니다.--제외-관계옵션. 단, 테이블, 구체화된 뷰 및 시퀀스에만 적용되고 인덱스에는 적용되지 않습니다.

--no-dependent-indexes

기본적으로 테이블이 선택되면 해당 테이블의 모든 btree 인덱스도 확인됩니다. 이는 다음과 같은 옵션으로 명시적으로 선택되지 않은 경우에도 마찬가지입니다.--색인또는--관계. 이 옵션은 해당 동작을 억제합니다.

--의존하지 않는 토스트

기본적으로 테이블이 선택되면 해당 토스트 테이블도 확인됩니다. 이는 다음과 같은 옵션으로 명시적으로 선택되지 않은 경우에도 마찬가지입니다.--테이블또는--관계. 이 옵션은 해당 동작을 억제합니다.

--엄격한 이름 없음

기본적으로 다음 인수인 경우--데이터베이스, --테이블, --색인또는--관계일치하는 개체가 없습니다. 치명적인 오류입니다. 이 옵션은 해당 오류를 경고로 다운그레이드합니다.

다음 명령줄 옵션은 테이블 확인을 제어합니다:

--제외 토스트 포인터

기본적으로 테이블에서 토스트 포인터가 발견될 때마다 토스트 테이블에서 명백히 유효한 항목을 참조하는지 확인하기 위해 조회가 수행됩니다. 이러한 검사는 상당히 느릴 수 있으므로 이 옵션을 사용하여 검사를 건너뛸 수 있습니다.

--오류 중지 시

손상이 발견된 테이블의 첫 번째 페이지에서 모든 손상을 보고한 후 해당 테이블 관계 처리를 중지하고 다음 테이블 또는 인덱스로 이동합니다.

색인 검사는 항상 첫 번째 손상된 페이지 이후에 중지됩니다. 이 옵션은 테이블 관계와 관련된 의미만 갖습니다.

--건너뛰기=옵션

만약완전히 동결됨이 주어지면 테이블 손상 검사는 모두 고정된 것으로 표시된 모든 테이블의 페이지를 건너뜁니다.

만약모두 표시이 주어지면 테이블 손상 검사는 모두 표시로 표시된 모든 테이블의 페이지를 건너뜁니다.

기본적으로 어떤 페이지도 건너뛰지 않습니다. 이는 다음과 같이 지정할 수 있습니다.없음그러나 이것이 기본값이므로 언급할 필요는 없습니다.

--startblock=차단

지정된 블록 번호에서 검사를 시작합니다. 검사 중인 테이블 관계에 이 블록 수보다 적으면 오류가 발생합니다. 이 옵션은 인덱스에는 적용되지 않으며 단일 테이블 관계를 확인할 때만 유용할 수 있습니다. 참조--endblock추가 주의사항.

--endblock=차단

지정된 블록 번호에서 검사를 종료합니다. 검사 중인 테이블 관계에 이 블록 수보다 적으면 오류가 발생합니다. 이 옵션은 인덱스에는 적용되지 않으며 단일 테이블 관계를 확인할 때만 유용할 수 있습니다. 일반 테이블과 토스트 테이블을 모두 선택한 경우 이 옵션은 둘 다에 적용되지만, 다음을 사용하여 억제하지 않는 한 토스트 포인터의 유효성을 검사하는 동안 더 높은 번호의 토스트 블록에 계속 액세스할 수 있습니다.--제외 토스트 포인터.

다음 명령줄 옵션은 B-트리 색인 검사를 제어합니다:

--checkunique

고유 제약 조건이 선택된 각 인덱스에 대해 다음을 사용하여 중복 항목 중 하나만 인덱스에 표시되는지 확인하세요.PostgreSQL : 문서 : 17 : F.1. AMCHECK - 테이블 및 색인 일관성을 무지개 토토하는 도구'scheckunique옵션.

--heapallindexed

검사된 각 인덱스에 대해 다음을 사용하여 인덱스의 인덱스 튜플로 모든 힙 튜플이 있는지 확인하세요.PostgreSQL : 문서 : 17 : F.1. AMCHECK - 테이블 및 색인 일관성을 무지개 토토하는 도구힙폴인덱싱옵션.

--부모 확인

확인된 각 btree 색인에 대해 다음을 사용하십시오.PostgreSQL : 문서 : 17 : F.1. AMCHECK - 테이블 및 색인 일관성을 무지개 토토하는 도구'sbt_index_parent_check색인 확인 중에 상위/하위 관계에 대한 추가 확인을 수행하는 함수.

기본값은 다음을 사용하는 것입니다.amcheckbt_index_check함수이지만의 사용에 유의하세요.--rootdescend옵션이 암시적으로 선택함bt_index_parent_check.

--rootdescend

검사된 각 인덱스에 대해 다음을 사용하여 각 튜플에 대해 루트 페이지에서 새로운 검색을 수행하여 리프 수준에서 튜플을 다시 찾습니다.PostgreSQL : 문서 : 17 : F.1. AMCHECK - 테이블 및 색인 일관성을 무지개 토토하는 도구'srootdescend옵션.

이 옵션을 사용하면 암시적으로 다음도 선택됩니다.--부모 확인옵션.

이 형식의 확인은 원래 btree 인덱스 기능 개발을 돕기 위해 작성되었습니다. 실제로 발생하는 부패 유형을 탐지하는 데 제한적으로 사용되거나 전혀 사용되지 않을 수도 있습니다. 또한 손상 검사에 시간이 상당히 오래 걸리고 서버에서 훨씬 더 많은 리소스를 소비할 수도 있습니다.

경고

다음 경우 B-트리 인덱스에 대해 추가 검사가 수행됩니다.--부모 확인옵션 또는--rootdescend옵션이 지정되면 상대적으로 강력한 관계 수준 잠금이 필요합니다. 이러한 검사는 동시 데이터 수정을 차단하는 유일한 검사입니다.삽입, 업데이트삭제명령.

다음 명령줄 옵션은 서버에 대한 연결을 제어합니다:

-h호스트 이름
--호스트=호스트 이름

서버가 실행 중인 시스템의 호스트 이름을 지정합니다. 값이 슬래시로 시작하면 Unix 도메인 소켓의 디렉터리로 사용됩니다.

-p포트
--포트=포트

서버가 연결을 수신하고 있는 TCP 포트 또는 로컬 Unix 도메인 소켓 파일 확장자를 지정합니다.

-U
--사용자 이름=사용자 이름

연결할 사용자 이름.

-w
--비밀번호 없음

비밀번호 프롬프트를 발행하지 마십시오. 서버가 비밀번호 인증을 요구하는데 다음과 같은 다른 수단으로 비밀번호를 사용할 수 없는 경우.pgpass파일을 사용하면 연결 시도가 실패합니다. 이 옵션은 비밀번호를 입력할 사용자가 없는 일괄 작업 및 스크립트에 유용할 수 있습니다.

-W
--비밀번호

포스pg_amcheck데이터베이스에 연결하기 전에 비밀번호를 묻는 메시지를 표시합니다.

이 옵션은 결코 필수가 아닙니다. 왜냐하면pg_amcheck서버가 비밀번호 인증을 요구하면 자동으로 비밀번호를 묻는 메시지를 표시합니다. 하지만,pg_amcheck서버가 비밀번호를 원하는지 알아내는 연결 시도를 낭비하게 됩니다. 어떤 경우에는 입력할 가치가 있습니다.-W추가 연결 시도를 피하기 위해.

--유지보수-db=db이름

데이터베이스를 지정하거나연결 문자열확인할 데이터베이스 목록을 검색하는 데 사용됩니다. 둘 다 아니라면--모두데이터베이스 패턴을 포함한 어떤 옵션도 사용되지 않으며 그러한 연결이 필요하지 않으며 이 옵션은 아무 작업도 수행하지 않습니다. 그렇지 않으면 이 옵션의 값에 포함된 데이터베이스 이름 이외의 연결 문자열 매개 변수도 확인 중인 데이터베이스에 연결할 때 사용됩니다. 이 옵션을 생략하면 기본값은포스트그레스또는 실패할 경우,템플릿1.

다른 옵션도 사용할 수 있습니다:

-e
--에코

서버에 전송된 모든 SQL을 stdout으로 에코합니다.

-jnum
--작업=num

사용num서버에 대한 동시 연결 또는 확인할 개체당 하나 중 더 적은 쪽.

기본값은 단일 연결을 사용하는 것입니다.

-P
--진행

진행 정보를 표시합니다. 진행 정보에는 확인이 완료된 관계의 수와 해당 관계의 전체 크기가 포함됩니다. 또한 최종적으로 확인될 총 관계 수와 해당 관계의 예상 크기도 포함됩니다.

-v
--상세

더 많은 메시지를 인쇄합니다. 특히 이는 검사 중인 각 관계에 대한 메시지를 인쇄하고 서버 오류에 대해 표시되는 세부정보 수준을 높입니다.

-V
--버전

인쇄pg_amcheck버전 및 종료.

--설치-누락
--설치-누락=스키마

데이터베이스를 확인하는 데 필요한 누락된 확장을 설치하십시오. 아직 설치되지 않은 경우 각 확장의 개체가 지정된 위치에 설치됩니다.스키마, 또는 스키마에 지정되지 않은 경우pg_catalog.

현재 필요한 유일한 확장은PostgreSQL : 문서 : 17 : F.1. AMCHECK - 테이블 및 색인 일관성을 무지개 토토하는 도구.

-?
--도움말

다음에 대한 도움말 보기pg_amcheck명령줄 인수 및 종료.

환경

pg_amcheck, 다른 대부분과 마찬가지로포스트그레SQL유틸리티는 다음에서 지원하는 환경 변수도 사용합니다.libpq(참조PostgreSQL : 문서 : 17 : 32.15. 환경 배트맨 토토).

환경 변수PG_COLOR진단 메시지에 색상을 사용할지 여부를 지정합니다. 가능한 값은 다음과 같습니다.항상, 자동그리고절대로.

참고

pg_amcheck함께 작동하도록 설계되었습니다포스트그레SQL14.0 이상.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.