F.2. am스포츠 토토 사이트eck

theAm스포츠 토토 사이트eck모듈은 관계 구조의 논리적 일관성을 확인할 수있는 함수를 제공합니다. 구조가 유효한 것으로 보이면 오류가 발생하지 않습니다.

함수가 다양한 것을 확인합니다불변특정 관계의 표현 구조에서. 인덱스 스캔 및 기타 중요한 작업의 배후에 액세스 방법 기능의 정확성은 항상 보유하고있는 이러한 불변에 의존합니다. 예를 들어, 특정 함수는 무엇보다도 모든 b- 트리 페이지가에 항목이 있는지 확인합니다.논리ORDER (예 : B- 트리 인덱스의 경우텍스트, 인덱스 튜플은 어휘 순서대로 정리되어 있어야합니다). 특정 불변량이 어떻게 든 유지되지 않으면 영향을받는 페이지의 이진 검색이 색인 스캔을 잘못 안내하여 SQL 쿼리에 대한 답변이 잘못 표시 될 수 있습니다..

검증은 인덱스 스캔 자체와 동일한 절차를 사용하여 수행됩니다.이 절차는 사용자 정의 연산자 클래스 코드 일 수 있습니다. 예를 들어, B-Tree Index Verification은 하나 이상의 B- 트리 지원 기능 1 루틴과 비교하는 데 의존합니다. 보다섹션 37.16.3운영자 클래스 지원 기능의 세부 사항.

Am스포츠 토토 사이트eck기능은 슈퍼업자 만 사용할 수 있습니다.

F.2.1. 기능

bt_index_스포츠 토토 사이트eck (인덱스 regclass, heapallindexed boolean) 반환 void

bt_index_스포츠 토토 사이트eckB-Tree 지수 인 대상이 다양한 불변량을 존중하는지 테스트합니다. 예제 사용 :

test =# bt_index_스포츠 토토 사이트eck (index = c.oid, heapallindexed = i.indisunique),
               c.relname,
               c.relpages
PG_INDEX에서 i
i.indclass [0] = op.oid에서 pg_opclass op에 가입하십시오
op.opcmethod = am.oid에서 pg_am에 가입하십시오
i.indexrelid = C.oid에서 pg_class c에 가입하십시오
c.relnamespace = n.oid에서 pg_namespace n에 가입하십시오
여기서 am.amname = 'btree'및 n.nspname = 'pg_catalog'
- 다른 세션에서 온 임시 테이블을 확인하지 마십시오.
그리고 c.relpersistence! = 't'
- 기능이 생략되면 오류가 발생할 수 있습니다.
그리고 c.relkind = 'i'및 i.indisready 및 i.indisvalid
c.relpages desc Limit 10에 의한 주문;
 bt_index_스포츠 토토 사이트eck |             Relname | 재선 
----------------+---------------------------------------------
                | pg_depend_reference_index |       43
                | pg_depend_depender_index |       40
                | pg_proc_proname_args_nsp_index |       31
                | pg_description_o_c_o_index |       21
                | pg_attribute_relid_attnam_index |       14
                | pg_proc_oid_index |       10
                | pg_attribute_relid_attnum_index |        9
                | pg_amproc_fam_proc_index |        5
                | pg_amop_op_fam_index |        5
                | pg_amop_fam_strat_index |        5
(10 줄)

이 예제는 데이터베이스에서 10 개의 가장 큰 카탈로그 인덱스를 확인하는 세션을 보여줍니다테스트. 인덱스 튜플로서 힙 튜플의 존재를 검증하는 것은 고유 인덱스 인 서브 세트에 요청된다. 오류가 발생하지 않기 때문에 테스트 된 모든 인덱스는 논리적으로 일관된 것으로 보입니다. 당연히이 쿼리는 쉽게 전화를 걸 수 있습니다bt_index_스포츠 토토 사이트eck확인이 지원되는 데이터베이스의 모든 색인에 대해.

bt_index_스포츠 토토 사이트eck인수accesssharelock대상 지수와 그에 속하는 힙 관계에서. 이 잠금 모드는 단순한 관계에서 획득 한 동일한 잠금 모드입니다select진술.bt_index_스포츠 토토 사이트eck아동/학부모 관계에 걸친 불변량을 확인하지는 않지만 모든 힙 튜플이 인덱스 내에서 인덱스 튜플로 모든 힙 튜플의 존재를 확인할 때HeaPallindexedistrue. 살아있는 생산 환경에서 일상적이고 가벼운 부패 테스트가 필요할 때bt_index_스포츠 토토 사이트eck종종 검증의 철저 함과 응용 프로그램 성능 및 가용성에 미치는 영향을 제한하는 것 사이의 최상의 트레이드 오프를 제공합니다.

bt_index_parent_스포츠 토토 사이트eck (인덱스 regclass, heapallindexed boolean, rootdescend boolean) void를 반환합니다

bt_index_parent_스포츠 토토 사이트eckB-Tree 지수 인 대상이 다양한 불변량을 존중하는지 테스트합니다. 선택적으로HeaPallIndexed인수는true, 함수는 인덱스 내에서 찾아야 할 모든 힙 튜플의 존재를 확인합니다. 선택 사항rootdescend인수는true, 검증은 각 튜플에 대한 루트 페이지에서 새 검색을 수행하여 잎 수준의 튜플을 다시 찾아냅니다. 수행 할 수있는 수표bt_index_parent_스포츠 토토 사이트eck|bt_index_스포츠 토토 사이트eck. bt_index_parent_스포츠 토토 사이트eck더 철저한 변형으로 생각할 수 있습니다bt_index_스포츠 토토 사이트eck:와 달리bt_index_스포츠 토토 사이트eck, bt_index_parent_스포츠 토토 사이트eck또한 인덱스 구조에 다운 링크가 없는지 확인하는 것을 포함하여 부모/자식 관계에 걸친 불변량을 확인합니다.bt_index_parent_스포츠 토토 사이트eck논리적 불일치 또는 기타 문제를 발견하면 오류를 제기하는 일반적인 협약을 따릅니다.

aSharelock대상 색인에서에 필요합니다bt_index_parent_스포츠 토토 사이트eck(aSharelock힙 관계에서도 획득). 이 잠금은 동시 데이터 수정을 방지합니다삽입, 업데이트삭제명령. 자물쇠는 또한 기본 관계가 동시에 처리되는 것을 방지합니다.진공및 기타 모든 유틸리티 명령. 함수는 전체 트랜잭션이 아닌 실행 중에만 잠금을 유지합니다.

bt_index_parent_스포츠 토토 사이트eck의 추가 검증은 다양한 병리학 적 사례를 감지 할 가능성이 더 높습니다. 이러한 경우에는 기본 B-Tree Index Access Method Code에서 확인 된 인덱스 또는 가설 적으로 발견되지 않은 버그가 사용되는 잘못 구현 된 B- 트리 연산자 클래스가 포함될 수 있습니다. 참고bt_index_parent_스포츠 토토 사이트eckhot stedby 모드가 활성화 될 때 (즉, 읽기 전용 물리 복제본에서)bt_index_스포츠 토토 사이트eck.

bt_index_스포츠 토토 사이트eckbt_index_parent_스포츠 토토 사이트eck검증 프로세스에 대한 출력 로그 메시지 모두Debug1andDebug2심각도 레벨. 이 메시지는 관심이있는 검증 프로세스에 대한 자세한 정보를 제공합니다.postgresql개발자. 고급 사용자는 또한이 정보가 실제로 불일치를 감지 해야하는 추가 컨텍스트를 제공 하므로이 정보가 도움이 될 수 있습니다. 달리기:

set client_min_messages = debug1;

대화식에서PSQL확인 쿼리를 실행하기 전의 세션은 관리 가능한 세부 수준으로 확인 진행 상황에 대한 메시지를 표시합니다.

F.2.2. 선택 과목HeaPallIndexed확인

언제HeaPallIndexed검증 기능에 대한 인수는true, 대상 인덱스 관계와 관련된 표에 대해 추가 검증 단계가 수행됩니다. 이것은 A로 구성됩니다.더미 색인 생성운영-임시 내내 요약 구조에 대한 모든 가상의 새로운 인덱스 튜플의 존재를 확인합니다 (이것은 기본적인 첫 번째 검증 단계에서 필요할 때 구축됩니다). 요약 구조지문대상 지수 내에서 발견되는 모든 튜플. 높은 수준의 원칙HeaPallIndexed검증은 기존 대상 인덱스와 동등한 새 인덱스에 기존 구조에서 찾을 수있는 항목 만 있어야한다는 것입니다.

추가HeaPallIndexed위상은 상당한 오버 헤드를 추가합니다. 확인은 일반적으로 여러 배 더 오래 걸립니다. 그러나 획득 한 관계 수준의 자물쇠에는 변화가 없습니다.HeaPallindexed확인이 수행됩니다.

요약 구조는 크기로 묶여maintenance_work_mem. 인덱스에 표시되어야하는 각 힙 튜플에 대한 불일치를 감지하지 못할 확률이 2% 이하가되기 위해서는 튜플 당 약 2 바이트의 메모리가 필요합니다. 튜플 당 메모리가 적을수록, 불일치가 누락 될 확률은 천천히 증가합니다. 이 접근법은 검증의 오버 헤드를 크게 제한하는 반면, 특히 검증이 일상적인 유지 보수 작업으로 취급되는 설치의 경우 문제를 감지 할 확률을 약간 줄입니다. 단일 결석 또는 기형 튜플은 각각의 새로운 검증 시도로 감지 될 새로운 기회가 있습니다.

F.2.3. 사용Am스포츠 토토 사이트eck효과적으로

Am스포츠 토토 사이트eck데이터 페이지 체크섬항상 잡히지 못할 것입니다. 여기에는 다음이 포함됩니다 :

  • 잘못된 운영자 클래스 구현으로 인한 구조적 불일치.

    여기에는 운영 체제 콜라이트 변경의 비교 규칙으로 인한 문제가 포함됩니다. Collatable 유형의 데이텀 비교텍스트는 불변이어야합니다 (B-Tree Index 스캔에 사용 된 모든 비교는 불변이어야하는 것처럼), 이는 운영 체제 콜레이션 규칙이 절대로 변경되지 않아야 함을 의미합니다. 드물지만 운영 체제 콜려 규칙에 대한 업데이트로 인해 이러한 문제가 발생할 수 있습니다. 보다 일반적으로, 마스터 서버와 대기 서버 간의 콜레이션 순서의 불일치는 관련이 있습니다.전공사용중인 운영 체제 버전은 일관성이 없습니다. 이러한 불일치는 일반적으로 대기 서버에서만 발생하므로 일반적으로 대기 서버에서만 감지 될 수 있습니다.

    이와 같은 문제가 발생하면 영향을받는 콜레이션을 사용하여 주문한 각 개별 색인에 영향을 미치지 않을 수 있습니다.색인값은 행동 불일치에 관계없이 동일한 절대 순서를 가질 수 있습니다. 보다PostgreSQL : 문서 : 13 : 23.1. 토토 핫 지원andPostgreSQL : 문서 : 13 : 23.2. 토토 베이 Support방법에 대한 자세한 내용은PostgreSQL운영 체제 지역 및 콜라주 사용.

  • 인덱스 된 인덱스와 힙 관계 간의 구조적 불일치 (HeaPallindexed확인이 수행되었습니다).

    정상 작동 중 힙 관계에 대한 인덱스의 교차 점검은 없습니다. 힙 부패의 증상은 미묘 할 수 있습니다.

  • 기본에서 가상의 발견되지 않은 버그로 인한 부패PostgreSQL액세스 방법 코드, 정렬 코드 또는 트랜잭션 관리 코드

    인덱스의 구조적 무결성에 대한 자동 검증은 신규 또는 제안 된 일반적인 테스트에서 중요한 역할을합니다PostgreSQL논리적 불일치가 도입 될 수있는 특징. 테이블 구조 및 관련 가시성 및 거래 상태 정보의 검증도 비슷한 역할을합니다. 명백한 테스트 전략 중 하나는 전화하는 것입니다Am스포츠 토토 사이트eck표준 회귀 테스트를 실행할 때 지속적으로 기능합니다. 보다PostgreSQL : 문서 : 13 : 32.1. 시험 사설 토토 사이트테스트 실행에 대한 자세한 내용.

  • 파일 시스템 또는 스토리지 서브 시스템 결함이 단순히 활성화되지 않는 경우

    참고Am스포츠 토토 사이트eck블록에 액세스 할 때 공유 버퍼 히트 만있는 경우 검증시 공유 메모리 버퍼에 표시된 페이지를 검사합니다. 따라서,Am스포츠 토토 사이트eck확인 시점에 파일 시스템에서 읽은 데이터를 반드시 검토 할 필요는 없습니다. 체크섬이 활성화 될 때Am스포츠 토토 사이트eck손상된 블록이 버퍼에 읽히면 체크섬 고장으로 인해 오류가 발생할 수 있습니다.

  • 결함이있는 RAM 또는 더 넓은 메모리 서브 시스템으로 인한 손상.

    PostgreSQL수정 가능한 메모리 오류로부터 보호하지 않으며 산업 표준 오류 수정 코드 (ECC) 또는 더 나은 보호를 사용하는 RAM을 사용하여 작동한다고 가정합니다. 그러나 ECC 메모리는 일반적으로 단일 비트 오류에 대해서만 면역되며 제공하는 것으로 가정해서는 안됩니다절대메모리 손상을 초래하는 고장에 대한 보호.

    언제HeaPallIndexed검증이 수행되며, 엄격한 이진 평등이 테스트되고 힙 내 인덱스 속성이 테스트되므로 일반적으로 단일 비트 오류를 ​​감지 할 가능성이 크게 증가합니다..

일반적으로Am스포츠 토토 사이트eck부패의 존재 만 증명할 수 있습니다. 부재를 증명할 수 없습니다.

F.2.4. 부패 수리

부패에 관한 오류 없음Am스포츠 토토 사이트eck거짓 긍정적이어야합니다.Am스포츠 토토 사이트eck정의에 따라 절대로 일어나지 말아야 할 조건의 경우 오류를 제기하고 신중한 분석Am스포츠 토토 사이트eck오류가 종종 필요합니다.

문제를 수리하는 일반적인 방법은 없습니다Am스포츠 토토 사이트eck감지. 변하지 않는 위반의 근본 원인에 대한 설명을 찾아야합니다.PostgreSQL :부패 진단에 유용한 역할을 할 수 있습니다.Am스포츠 토토 사이트eck감지. 에이Reindex부패 수리에 효과적이지 않을 수 있습니다.

정정 제출

문서에 올바른 것이없는 것이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면