이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 범퍼카 토토를 보고 싶을 수도 있습니다.Postgresql: Tài liệu: 17: F.23. PageInsPect-Kiểm tra cấp độ thấp của các tra롤 토토 cơ sở dữ liệu버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

F.22. 범퍼카 토토 검사

범퍼카 토토 검사모듈은 디버깅 목적에 유용한 낮은 수준에서 데이터베이스 범퍼카 토토의 내용을 검사할 수 있는 기능을 제공합니다. 이 모든 기능은 슈퍼유저만 사용할 수 있습니다.

F.22.1. 기능

get_raw_page(relname 텍스트, 포크 텍스트, blkno int)는 bytea를 반환합니다.

get_raw_page명명된 관계의 지정된 블록을 읽고 복사본을 a로 반환합니다.바이테아값. 이를 통해 시간이 일치하는 단일 블록 복사본을 얻을 수 있습니다.포크해야 합니다'메인'메인 데이터 포크의 경우,'fsm'자유 공간 지도의 경우,'vm'가시성 지도의 경우 또는'초기화'초기화 포크용.

get_raw_page(relname text, blkno int)는 bytea를 반환합니다.

의 단축 버전get_raw_page, 메인 포크에서 읽기 위한 것입니다. 에 해당함get_raw_page(relname, 'main', blkno)

page_header(page bytea)가 레코드를 반환함

page_header모두에게 공통되는 필드를 표시합니다PostgreSQL힙 및 인덱스 범퍼카 토토.

다음으로 얻은 페이지 이미지get_raw_page인수로 전달되어야 합니다. 예를 들면:

test=# SELECT * FROM page_header(get_raw_page('pg_class', 0));
    lsn | 체크섬 | 플래그 | 낮은 | 상단 | 특별한 | 페이지 크기 | 버전 | prune_xid
---------+----------+-------+-------+-------+---------+---------+---------+---------+----------
 0/24A1B50 |        1 |      1 |   232 |   368 |    8192 |     8192 |       4 |         0

반환된 열은 다음의 필드에 해당합니다.범퍼카 토토헤더데이터구조체. 참조src/include/storage/bufpage.h자세한 내용은.

heap_page_items(page bytea)가 레코드 세트를 반환함

heap_page_items힙 범퍼카 토토의 모든 라인 포인터를 표시합니다. 사용 중인 라인 포인터의 경우 튜플 헤더도 표시됩니다. 원시 범퍼카 토토가 복사될 때 MVCC 스냅샷에 튜플이 표시되었는지 여부에 관계없이 모든 튜플이 표시됩니다.

다음으로 얻은 힙 페이지 이미지get_raw_page인수로 전달되어야 합니다. 예를 들면:

테스트=# SELECT * FROM heap_page_items(get_raw_page('pg_class', 0));

참조src/include/storage/itemid.h그리고src/include/access/htup_details.h반환된 필드에 대한 설명.

bt_metap(relname text)이 레코드를 반환함

bt_metapB-트리 인덱스의 메타페이지에 대한 정보를 반환합니다. 예를 들면:

테스트=# SELECT * FROM bt_metap('pg_cast_oid_index');
-[ 기록 1 ]----
마술 | 340322
버전 | 2
루트 | 1
수준 | 0
빠른 뿌리 | 1
빠른 수준 | 0
bt_page_stats(relname text, blkno int)는 레코드를 반환합니다.

bt_page_statsB-트리 인덱스의 단일 페이지에 대한 요약 정보를 반환합니다. 예를 들면:

test=# SELECT * FROM bt_page_stats('pg_cast_oid_index', 1);
-[ 기록 1 ]-+-----
블크노 | 1
유형 | 내가
라이브_아이템 | 256
죽은 아이템 | 0
평균_항목_크기 | 12
페이지 크기 | 8192
free_size | 4056
btpo_prev | 0
btpo_next | 0
BTPO | 0
btpo_flags | 3
bt_page_items(relname text, blkno int)는 레코드 세트를 반환합니다.

bt_page_itemsB-트리 인덱스 페이지의 모든 항목에 대한 자세한 정보를 반환합니다. 예를 들어:

test=# SELECT * FROM bt_page_items('pg_cast_oid_index', 1);
 항목 오프셋 |  CTID | 아이템렌 | 널 | 바르스 |    데이터
------------+---------+---------+-------+------+-------------
          1 | (0,1) |      12 | 에프 | 에프 | 23 27 00 00
          2 | (0,2) |      12 | 에프 | 에프 | 24 27 00 00
          3 | (0,3) |      12 | 에프 | 에프 | 25 27 00 00
          4 | (0,4) |      12 | 에프 | 에프 | 26 27 00 00
          5 | (0,5) |      12 | 에프 | 에프 | 27 27 00 00
          6 | (0,6) |      12 | 에프 | 에프 | 28 27 00 00
          7 | (0,7) |      12 | 에프 | 에프 | 29 27 00 00
          8 | (0,8) |      12 | 에프 | 에프 | 2a 27 00 00
fsm_page_contents(page bytea)가 텍스트를 반환합니다.

fsm_page_contentsFSM 페이지의 내부 노드 구조를 보여줍니다. 출력은 페이지 내 이진 트리의 노드당 한 줄로 구성된 여러 줄 문자열입니다. 0이 아닌 노드만 인쇄됩니다. 페이지에서 반환될 다음 슬롯을 가리키는 소위 "다음" 포인터도 인쇄됩니다.

참조src/backend/storage/freespace/READMEFSM 페이지 구조에 대한 자세한 내용은.