F.32. pg_visibility

pg_visibility모듈은 테이블의 VM(가시성 맵) 및 페이지 수준 가시성 정보를 검사하는 수단을 제공합니다. 또한 가시성 맵의 무결성을 확인하고 강제로 다시 빌드하는 기능도 제공합니다.

세 가지 다른 비트가 페이지 수준 가시성에 대한 정보를 저장하는 데 사용됩니다. 가시성 맵의 all-visible 비트는 관계의 해당 페이지에 있는 모든 튜플이 모든 현재 및 미래 트랜잭션에 표시된다는 것을 나타냅니다. 가시성 맵의 모두 고정된 비트는 페이지의 모든 튜플이 고정되었음을 나타냅니다. 즉, 해당 페이지에 튜플이 삽입, 업데이트, 삭제 또는 잠길 때까지 향후 진공에서는 페이지를 수정할 필요가 없습니다. 페이지 헤더의PD_ALL_VISIBLE비트는 스포츠 토토 베트맨 맵의 모두 표시되는 비트와 동일한 의미를 갖지만 별도의 데이터 구조가 아닌 데이터 페이지 자체에 저장됩니다. 이 두 비트는 일반적으로 일치하지만 충돌 복구 후 스포츠 토토 베트맨 맵 비트가 지워지는 동안 페이지의 모든 표시 비트가 설정되는 경우가 있습니다. 보고된 값은 이후에 발생하는 변경으로 인해 불일치할 수도 있습니다.pg_visibility스포츠 토토 베트맨 지도를 검사하고 데이터 페이지를 검사하기 전에. 데이터 손상을 일으키는 이벤트로 인해 이러한 비트가 불일치할 수도 있습니다.

정보를 표시하는 기능PD_ALL_VISIBLE비트는 (훨씬 더 작은) 스포츠 토토 베트맨 맵만 읽어야 하는 것이 아니라 관계의 데이터 블록을 읽어야 하기 때문에 스포츠 토토 베트맨 맵만 참조하는 것보다 훨씬 더 비용이 많이 듭니다. 관계의 데이터 블록을 확인하는 함수도 비슷하게 비용이 많이 듭니다.

F.32.1. 기능

pg_visibility_map(relation regclass, blkno bigint, all_visible OUT boolean, all_frozen OUT boolean)은 레코드를 반환합니다.

주어진 관계의 주어진 블록에 대한 스포츠 토토 베트맨 맵에서 모두 표시되고 모두 고정된 비트를 반환합니다.

pg_visibility(relation regclass, blkno bigint, all_visible OUT boolean, all_frozen OUT boolean, pd_all_visible OUT boolean)은 레코드를 반환합니다.

주어진 관계의 주어진 블록에 대한 스포츠 토토 베트맨 맵에서 모두 보이는 비트와 모두 고정된 비트를 반환합니다.PD_ALL_VISIBLE해당 블록의 비트입니다.

pg_visibility_map(relation regclass, blkno OUT bigint, all_visible OUT boolean, all_frozen OUT boolean)은 레코드 집합을 반환합니다.

주어진 관계의 각 블록에 대한 스포츠 토토 베트맨 맵에서 모두 표시되고 모두 고정된 비트를 반환합니다.

pg_visibility(relation regclass, blkno OUT bigint, all_visible OUT boolean, all_frozen OUT boolean, pd_all_visible OUT boolean)은 레코드 세트를 반환합니다.

주어진 관계의 각 블록에 대해 스포츠 토토 베트맨 맵에서 모두 보이는 비트와 모두 고정된 비트를 반환합니다.PD_ALL_VISIBLE각 블록의 비트.

pg_visibility_map_summary(relation regclass, all_visible OUT bigint, all_frozen OUT bigint)는 레코드를 반환합니다.

스포츠 토토 베트맨 맵에 따라 해당 관계에서 모두 표시되는 페이지 수와 모두 고정된 페이지 수를 반환합니다.

pg_check_frozen(relation regclass, t_ctid OUT tid)는 tid 집합을 반환합니다.

스포츠 토토 베트맨 맵에서 모두 고정된 것으로 표시된 페이지에 저장된 고정되지 않은 튜플의 TID를 반환합니다. 이 함수가 비어 있지 않은 TID 세트를 반환하면 스포츠 토토 베트맨 지도가 손상된 것입니다.

pg_check_visible(relation regclass, t_ctid OUT tid)는 tid 집합을 반환합니다.

스포츠 토토 베트맨 맵에서 모두 표시로 표시된 페이지에 저장된 모두 표시되지 않는 튜플의 TID를 반환합니다. 이 함수가 비어 있지 않은 TID 세트를 반환하면 스포츠 토토 베트맨 지도가 손상된 것입니다.

pg_truncate_visibility_map(relation regclass)이 void를 반환함

주어진 관계에 대한 스포츠 토토 베트맨 지도를 자릅니다. 이 기능은 관계에 대한 스포츠 토토 베트맨 맵이 손상되었다고 믿고 이를 강제로 다시 작성하려는 경우에 유용합니다. 첫 번째진공13131_13351

기본적으로 이 기능은 수퍼유저와 회원만 실행할 수 있습니다.pg_stat_scan_tables역할, 제외pg_truncate_visibility_map(관계 등록 클래스)수퍼유저만 실행할 수 있습니다.

F.32.2. 작성자

로버트 하스

수정사항 제출

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