thePageInspect
모듈은 데이터베이스 토토 결과의 내용을 낮은 레벨에서 검사 할 수있는 기능을 제공하며, 이는 디버깅 목적으로 유용합니다. 이러한 모든 기능은 슈퍼업자에 의해서만 사용될 수 있습니다.
get_raw_page (relname 텍스트, 포크 텍스트, blkno bigint)를 반환합니다
get_raw_page
지명 된 관계의 지정된 블록을 읽고 사본을 A로 반환합니다BYTEA
값. 이를 통해 블록의 단일 일관된 사본을 얻을 수 있습니다.포크
'main'
기본 데이터 포크의 경우'FSM'
용토토 결과 사이트 순위 : 문서 : 18 : 66.3. 여유 공간지도, 'vm'
용토토 결과 꽁 머니 : 문서 : 18 : 66.4. 가시성 맵또는'init'
초기화 포크 용
get_raw_page (Relname 텍스트, Blkno bigint)를 반환합니다
속기 버전의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 | 체크섬 | 깃발 | 더 낮은 | 상단 | 스페셜 | Pagesize | 버전 | prune_xid -----------+----------+--------+------------------------------------------------------------------------------------------------------ 0/24A1B50 | 0 | 1 | 232 | 368 | 8192 | 8192 | 4 | 0
반환 된 열은의 필드에 해당합니다.PageHeaderData
구조. 보다src/include/storage/bufpage.h
자세한 내용.
theCheckSum
필드는 토토 결과에 저장된 체크섬이며, 토토 결과가 어떻게 든 손상되면 부정확 할 수 있습니다. 이 인스턴스의 데이터 체크섬이 비활성화되면 저장된 값은 의미가 없습니다.
page_checksum (Page Bytea, Blkno bigint)을 반환
page_checksum
주어진 블록에있는 것처럼 토토 결과의 체크섬을 계산합니다.
획득 한 토토 결과 이미지get_raw_page
인수로 전달되어야합니다. 예를 들어:
test =# select page_checksum (get_raw_page ( 'pg_class', 0), 0); page_checksum ----------------- 13443
체크섬은 블록 번호에 따라 달라 지므로 일치하는 블록 번호가 전달되어야합니다 (밀교 디버깅을 수행 할 때 제외)..
이 함수로 계산 된 체크섬은와 비교할 수 있습니다.Checksum
함수의 결과 필드page_header
. 이 인스턴스에 대한 데이터 체크섬이 활성화되면 두 값이 같아야합니다.
fsm_page_contents (page bytea) 텍스트를 반환
FSM_PAGE_CONTENTS
AN의 내부 노드 구조를 보여줍니다FSM토토 결과. 예를 들어:
test =# 선택 fsm_page_contents (get_raw_page ( 'pg_class', 'fsm', 0));
출력은 멀티 라인 문자열이며, 토토 결과 내 이진 트리의 노드 당 한 줄 당 1 줄이 있습니다. 0이 아닌 노드 만 인쇄됩니다. 토토 결과에서 반환 할 다음 슬롯을 가리키는 소위 "다음"포인터도 인쇄됩니다.
참조SRC/백엔드/스토리지/프리 스페이스/readme
AN의 구조에 대한 자세한 내용은FSM토토 결과.
heap_page_items (page bytea) 레코드를 반환
heap_page_items
힙 토토 결과에 모든 줄 포인터가 표시됩니다. 사용중인 라인 포인터의 경우 튜플 헤더 및 튜플 원시 데이터도 표시됩니다. 튜플이 원시 토토 결과를 복사 할 때 MVCC 스냅 샷으로 보이는지 여부에 관계없이 모든 튜플이 표시됩니다.
획득 한 힙 토토 결과 이미지get_raw_page
인수로 통과해야합니다. 예를 들어:
test =# heap_page_items에서 * select * (get_raw_page ( 'pg_class', 0));
참조src/include/storage/itemid.h
andsrc/include/access/htup_details.h
필드에 대한 설명이 반환되었습니다.
theheap_tuple_infomask_flags
함수는의 플래그 비트를 풀기 위해 사용될 수 있습니다.T_INFOMASK
andT_INFOMASK2
힙 튜플 용.
tuple_data_split (rel_oid oid, t_data bytea, t_infomask integer, t_infomask2 정수, t_bits 텍스트 [, do_detoast bool]) bytea []를 반환합니다.
tuple_data_split
백엔드 내부와 같은 방식으로 튜플 데이터를 속성으로 분할합니다.
test =# 선택 tuple_data_split ( 'pg_class':: regclass, t_data, t_infomask, t_infomask2, t_bits)에서 heap_page_items (get_raw_page ( 'pg_class', 0));;
이 함수는의 반환 속성과 동일한 인수와 함께 호출되어야합니다.heap_page_items
.
ifdo_detoast
istrue
, 속성은 필요에 따라 해소됩니다. 기본값은거짓
.
heap_page_item_attrs (페이지 bytea, rel_oid regclass [, do_detoast bool]) record를 반환
heap_page_item_attrs
heap_page_items
튜플 원시 데이터를 선택적으로 고용 할 수있는 속성 배열로 튜플을 반환하는 것을 제외하고do_detoast
거짓
기본적으로.
획득 한 힙 토토 결과 이미지get_raw_page
논쟁으로 통과해야합니다. 예를 들어:
test =# heap_page_item_attrs에서 * select * select *
heap_tuple_infomask_flags (t_infomask 정수, t_infomask2 정수) 레코드를 반환
heap_tuple_infomask_flags
디코딩T_INFOMASK
andT_INFOMASK2
반환heap_page_items
깃발 이름으로 만들어진 사람이 읽을 수있는 배열 세트로, 모든 플래그에 대해 하나의 열, 결합 된 플래그에는 열이 있습니다. 예를 들어:
test =# t_ctid, raw_flags, combined_flags를 선택하십시오 heap_page_items에서 (get_raw_page ( 'pg_class', 0)), 측면 heap_tuple_infomask_flags (t_infomask, t_infomask2) t_infomask가 null이 아닌 경우, t_infomask2는 null이 아닙니다;
이 함수는의 반환 속성과 동일한 인수와 함께 호출되어야합니다.heap_page_items
.
결합 된 플래그는 소스 레벨 매크로에 대해 표시됩니다.heap_xmin_frozen
.
참조src/include/access/htup_details.h
플래그 이름에 대한 설명은 반환되었습니다.
BT_METAP (RELNAME TEXT) 레코드를 반환
bt_metap
B-Tree 지수의 메타지에 대한 정보를 반환합니다. 예를 들어:
test =# select * from bt_metap ( 'pg_cast_oid_index'); -[레코드 1] ------------+------- 마술 | 340322 버전 | 4 루트 | 1 레벨 | 0 Fastroot | 1 FastLevel | 0 last_cleanup_num_delpages | 0 last_cleanup_num_tuples | 230 Allequalimage | 에프
BT_PAGE_STATS (Relname Text, Blkno bigint)를 반환합니다
BT_PAGE_STATS
B-Tree 지수의 데이터 페이지에 대한 요약 정보를 반환합니다. 예를 들어:
test =# select * from bt_page_stats ( 'pg_cast_oid_index', 1); -[레코드 1]-+---- Blkno | 1 유형 | 엘 live_items | 224 dead_items | 0 avg_item_size | 16 page_size | 8192 free_size | 3668 btpo_prev | 0 btpo_next | 0 btpo_level | 0 btpo_flags | 3
bt_multi_page_stats (Relname 텍스트, blkno bigint, blk_count bigint) sets record를 반환합니다
bt_multi_page_stats
동일한 정보를 반환합니다BT_PAGE_STATS
,하지만에서 시작하는 토토 결과 범위의 각 토토 결과에 대해Blkno
그리고 확장blk_count
토토 결과. 만약에blk_count
음수입니다.Blkno
지수의 끝까지보고됩니다. 예를 들어:
test =# select * from bt_multi_page_stats ( 'pg_proc_oid_index', 5, 2); -[레코드 1]-+---- Blkno | 5 유형 | 엘 live_items | 367 dead_items | 0 avg_item_size | 16 page_size | 8192 free_size | 808 btpo_prev | 4 btpo_next | 6 btpo_level | 0 btpo_flags | 1 -[레코드 2]-+---- Blkno | 6 유형 | 엘 live_items | 367 dead_items | 0 avg_item_size | 16 page_size | 8192 free_size | 808 btpo_prev | 5 btpo_next | 7 btpo_level | 0 btpo_flags | 1
BT_PAGE_ITEMS (Relname Text, Blkno BigInt) Setof record를 반환합니다
bt_page_items
B-Tree Index 페이지의 모든 항목에 대한 자세한 정보를 반환합니다. 예를 들어:
test =# itemoffset, ctid, itemlen, nulls, vars, data, dead, htid, tids [0 : 2]는 some_tids입니다. bt_page_items ( 'tenk2_hundred', 5); ItemOffset | ctid | ItemLen | 널스 | vars | 데이터 | 죽은 | htid | some_tids -------------+-----------+---------+-------+-------+------------------------------------------------------------------------------------------------ 1 | (16,1) | 16 | f | f | 30 00 00 00 00 00 00 00 | | | 2 | (16,8292) | 616 | f | f | 24 00 00 00 00 00 00 00 | f | (1,6) | "(1,6)", "(10,22)" 3 | (16,8292) | 616 | f | f | 25 00 00 00 00 00 00 00 | f | (1,18) | "(1,18)", "(4,22)" 4 | (16,8292) | 616 | f | f | 26 00 00 00 00 00 00 00 | f | (4,18) | "(4,18)", "(6,17)" 5 | (16,8292) | 616 | f | f | 27 00 00 00 00 00 00 00 | f | (1,2) | "(1,2)", "(1,19)" 6 | (16,8292) | 616 | f | f | 28 00 00 00 00 00 00 00 | f | (2,24) | "(2,24)", "(4,11)" 7 | (16,8292) | 616 | f | f | 29 00 00 00 00 00 00 00 | f | (2,17) | "(2,17)", "(11,2)" 8 | (16,8292) | 616 | f | f | 2A 00 00 00 00 00 00 00 | f | (0,25) | "(0,25)", "(3,20)" 9 | (16,8292) | 616 | f | f | 2B 00 00 00 00 00 00 00 | f | (0,10) | "(0,10)", "(0,14)" 10 | (16,8292) | 616 | f | f | 2C 00 00 00 00 00 00 00 | f | (1,3) | "(1,3)", "(3,9)" 11 | (16,8292) | 616 | f | f | 2d 00 00 00 00 00 00 00 00 | f | (6,28) | "(6,28)", "(11,1)" 12 | (16,8292) | 616 | f | f | 2E 00 00 00 00 00 00 00 00 | f | (0,27) | "(0,27)", "(1,13)" 13 | (16,8292) | 616 | f | f | 2F 00 00 00 00 00 00 00 | f | (4,17) | "(4,17)", "(4,21)"
이것은 B- 트리 리프 토토 결과입니다. 테이블을 가리키는 모든 튜플은 목록 튜플을 게시합니다 (모두 총 100 개의 바이트 TID를 저장). 도 있습니다.“높은 키”튜플 atitemoffset
번호 1.CTID
이 예제에서 각 튜플에 대한 인코딩 된 정보를 저장하는 데 사용되지만 잎 토토 결과 튜플은 종종 힙 정리를 직접 저장합니다CTID
대신 필드tids
게시 목록으로 저장된 TID 목록입니다.
내부 토토 결과 (표시되지 않음)에서 블록 번호 부분CTID
is“다운 링크”, 인덱스 자체의 다른 토토 결과의 블록 번호입니다. 오프셋 부분 (두 번째 숫자)의CTID
존재하는 열의 수와 같은 튜플에 대한 인코딩 된 정보 (접미사 절단은 불필요한 접미사 열을 제거했을 수 있음). 잘린 열은 가치가있는 것으로 취급“마이너스 인피니티”.
htid
기본 튜플 표현에 관계없이 튜플의 힙 삭제를 보여줍니다. 이 값은 일치 할 수 있습니다CTID
또는 내부 페이지에서 목록 튜플 및 튜플을 게시하여 사용되는 대체 표현에서 디코딩 될 수 있습니다. 내부 페이지의 튜플은 일반적으로 구현 레벨 힙 TID 열이 잘려서 널로 표시됩니다htid
value.
가장 오른쪽이 아닌 토토 결과의 첫 번째 항목 (0이 아닌 값이없는 모든 토토 결과에 유의하십시오.btpo_next
필드)는 토토 결과입니다“높은 키”, 그 의미데이터
토토 결과에 나타나는 모든 항목의 상한 역할을하는 동안CTID
필드는 다른 블록을 가리키지 않습니다. 또한 내부 페이지에서 최초의 실제 데이터 항목 (높은 키가 아닌 첫 번째 항목)은 모든 열이 잘려 나서 실제 값을 남기지 않습니다.데이터
필드. 이러한 항목은 유효한 다운 링크가 있습니다.CTID
필드.
B- 트리 지수의 구조에 대한 자세한 내용은 참조섹션 65.1.4.1. 중복 제거 및 게시 목록에 대한 자세한 내용은 참조하십시오.섹션 65.1.4.3.
bt_page_items (page bytea) 레코드를 반환
토토 결과를 전달할 수도 있습니다bt_page_items
asBYTEA
값. 와 함께 얻은 토토 결과 이미지get_raw_page
인수로 전달되어야합니다. 마지막 예제는 다음과 같이 다시 작성할 수 있습니다.
test =# itemoffset, ctid, itemlen, nulls, vars, data, dead, htid, tids [0 : 2] some_tids bt_page_items에서 (get_raw_page ( 'tenk2_hundred', 5)); ItemOffset | ctid | ItemLen | 널스 | vars | 데이터 | 죽은 | htid | some_tids -------------+-----------+---------+-------+-------+------------------------------------------------------------------------------------------------ 1 | (16,1) | 16 | f | f | 30 00 00 00 00 00 00 00 | | | 2 | (16,8292) | 616 | f | f | 24 00 00 00 00 00 00 00 | f | (1,6) | "(1,6)", "(10,22)" 3 | (16,8292) | 616 | f | f | 25 00 00 00 00 00 00 00 | f | (1,18) | "(1,18)", "(4,22)" 4 | (16,8292) | 616 | f | f | 26 00 00 00 00 00 00 00 | f | (4,18) | "(4,18)", "(6,17)" 5 | (16,8292) | 616 | f | f | 27 00 00 00 00 00 00 00 | f | (1,2) | "(1,2)", "(1,19)" 6 | (16,8292) | 616 | f | f | 28 00 00 00 00 00 00 00 | f | (2,24) | "(2,24)", "(4,11)" 7 | (16,8292) | 616 | f | f | 29 00 00 00 00 00 00 00 | f | (2,17) | "(2,17)", "(11,2)" 8 | (16,8292) | 616 | f | f | 2A 00 00 00 00 00 00 00 | f | (0,25) | "(0,25)", "(3,20)" 9 | (16,8292) | 616 | f | f | 2B 00 00 00 00 00 00 00 | f | (0,10) | "(0,10)", "(0,14)" 10 | (16,8292) | 616 | f | f | 2C 00 00 00 00 00 00 00 | f | (1,3) | "(1,3)", "(3,9)" 11 | (16,8292) | 616 | f | f | 2d 00 00 00 00 00 00 00 00 | f | (6,28) | "(6,28)", "(11,1)" 12 | (16,8292) | 616 | f | f | 2E 00 00 00 00 00 00 00 00 | f | (0,27) | "(0,27)", "(1,13)" 13 | (16,8292) | 616 | f | f | 2F 00 00 00 00 00 00 00 | f | (4,17) | "(4,17)", "(4,21)"
다른 모든 세부 사항은 이전 항목에서 설명한 것과 동일합니다.
brin_page_type (page bytea) 텍스트를 반환
brin_page_type
주어진 페이지 유형을 반환브린인덱스 페이지 또는 페이지가 유효하지 않은 경우 오류를 던집니다브린토토 결과. 예를 들어:
test =# select brin_page_type (get_raw_page ( 'brinidx', 0)); brin_page_type --------------- 메타
brin_metapage_info (Page Bytea) 레코드를 반환
brin_metapage_info
A에 대한 다양한 정보를 반환합니다브린인덱스 메타지. 예를 들어:
test =# select * from brin_metapage_info (get_raw_page ( 'brinidx', 0)); 마술 | 버전 | PagesperRange | lastevmappage ------------+---------+---------------------------------- 0xa8109cfa | 1 | 4 | 2
brin_revmap_data (page bytea) returns setof tid
brin_revmap_data
A에서 튜플 식별자 목록을 반환합니다브린인덱스 범위 맵 토토 결과. 예를 들어:
test =# select * from brin_revmap_data (get_raw_page ( 'brinidx', 2)) 한계 5; 페이지 ------- (6,137) (6,138) (6,139) (6,140) (6,141)
brin_page_items (Page Bytea, Index OID) 레코드를 반환
brin_page_items
에 저장된 데이터를 반환합니다브린데이터 토토 결과. 예를 들어:
test =# select * from brin_page_items (get_raw_page ( 'brinidx', 5), 'brinidx') Blknum, Attnum Limit 6에 의한 주문; ItemOffset | Blknum | Attnum | allnulls | Hasnulls | 자리 표시 자 | 빈 | 값 ------------+--------+-------+---------------------------------------------------------------------------------------------------------------------- 137 | 0 | 1 | t | f | f | f | 137 | 0 | 2 | f | f | f | f | 1 .. 88 138 | 4 | 1 | t | f | f | f | 138 | 4 | 2 | f | f | f | f | 89 .. 176 139 | 8 | 1 | t | f | f | f | 139 | 8 | 2 | f | f | f | f | 177 .. 264
반환 된 열은의 필드에 해당합니다.BrinMemtuple
andBrinValues
structs. 보다src/include/access/brin_tuple.h
자세한 내용.
gin_metapage_info (Page Bytea) 레코드를 반환
gin_metapage_info
A에 대한 정보를 반환합니다진인덱스 메타지. 예를 들어:
test =# select * from gin_metapage_info (get_raw_page ( 'gin_index', 0)); -[레코드 1] ----+----------- ending_head | 4294967295 pending_tail | 4294967295 tail_free_size | 0 n_pending_pages | 0 n_pending_tuples | 0 n_total_pages | 7 n_entry_pages | 6 N_DATA_PAGES | 0 n_entries | 693 버전 | 2
gin_page_opaque_info (Page Bytea) 레코드를 반환
gin_page_opaque_info
A에 대한 정보를 반환합니다gin토토 결과 유형과 같은 색인 불투명 영역. 예를 들어:
test =# select * from gin_page_opaque_info (get_raw_page ( 'gin_index', 2)); 오른쪽 링크 | Maxoff | 깃발 -----------+-------+---------------------------- 5 | 0 | 데이터, 잎, 압축
gin_leafpage_items (page bytea) 레코드를 반환
gin_leafpage_items
압축에 저장된 데이터에 대한 정보를 반환gin잎 토토 결과. 예를 들어:
test =# first_tid, nbytes, tids [0 : 5]를 some_tids로 선택하십시오 gin_leafpage_items에서 (get_raw_page ( 'gin_test_idx', 2)); First_tid | nbytes | some_tids -----------+-------+------------------------------------------------------------------- (8,41) | 244 | "(8,41)", "(8,43)", "(8,44)", "(8,45)", "(8,46)" (10,45) | 248 | "(10,45)", "(10,46)", "(10,47)", "(10,48)", "(10,49)" (12,52) | 248 | "(12,52)", "(12,53)", "(12,54)", "(12,55)", "(12,56)" (14,59) | 320 | "(14,59)", "(14,60)", "(14,61)", "(14,62)", "(14,63)" (167,16) | 376 | "(167,16)", "(167,17)", "(167,18)", "(167,19)", "(167,20)" (170,30) | 376 | "(170,30)", "(170,31)", "(170,32)", "(170,33)", "(170,34)" (173,44) | 197 | "(173,44)", "(173,45)", "(173,46)", "(173,47)", "(173,48)"
GIST_PAGE_OPAQUE_INFO (PAGE BYTEA) 레코드를 반환
gist_page_opaque_info
A에서 정보를 반환합니다gistNSN, 오른쪽 링크 및 토토 결과 유형과 같은 색인 토토 결과의 불투명 영역. 예를 들어:
test =# select * from gist_page_opaque_info (get_raw_page ( 'test_gist_idx', 2)); LSN | NSN | 오른쪽 링크 | 깃발 -----+-----+----------+-------- 0/1 | 0/0 | 1 | 잎
GIST_PAGE_ITEMS (Page Bytea, Index_oid Regclass) Setof record를 반환합니다
gist_page_items
a에 저장된 데이터에 대한 정보를 반환합니다gist색인. 예를 들어:
test =# gist_page_items (get_raw_page ( 'test_gist_idx', 0), 'test_gist_idx'); ItemOffset | ctid | ItemLen | 죽은 | 열쇠 -------------+-----------+--------+-------+------------------------------------------------------------------ 1 | (1,65535) | 40 | f | (p) = ( "(185,185), (1,1)") 2 | (2,65535) | 40 | f | (P) = ( "(370,370), (186,186)") 3 | (3,65535) | 40 | f | (P) = ( "(555,555), (371,371)") 4 | (4,65535) | 40 | f | (P) = ( "(740,740), (556,556)") 5 | (5,65535) | 40 | f | (P) = ( "(870,870), (741,741)") 6 | (6,65535) | 40 | f | (P) = ( "(1000,1000), (871,871)") (6 줄)
GIST_PAGE_ITEMS_BYTEA (Page Bytea) 레코드를 반환
동일gist_page_items
그러나 키 데이터를 원시로 리턴합니다BYTEA
blob. 키를 해독하려고 시도하지 않으므로 어떤 인덱스가 관련되어 있는지 알 필요가 없습니다. 예를 들어:
test =# select * from gist_page_items_bytea (get_raw_page ( 'test_gist_idx', 0)); ItemOffset | ctid | ItemLen | 죽은 | key_data ------------+-----------+---------+------+------------------------------------------------------------------------------------ 1 | (1,65535) | 40 | f | \ x00000100FFFFF28000000000000C06400000000000000000000000000F03F000000000000F03F 2 | (2,65535) | 40 | f | \ x00000200FFFFF28000000000000C0740000000000000000000000000E060000000000000E06440 3 | (3,65535) | 40 | f | \ x00000300FFFFF28000000000000207F4000000000000000000000000000000D074000000000000000000D07440 4 | (4,65535) | 40 | f | \ X00000400FFFFF28000000000000C0840000000000000000000000000000077F400000000000307F40 5 | (5,65535) | 40 | f | \ x00000500FFFFF28000000000000F089400000000000000000000000000C8440000000000000000000000000000000000c88440 6 | (6,65535) | 40 | f | \ x00000600FFFFF2800000000000028F400000000000000000000000000000F889400000000000F88940 7 | (7,65535) | 40 | f | \ x00000700FFFFF28000000000000408F4000000000000000000000000000000002888F4000000000000000288F40 (7 줄)
hash_page_type (page bytea) 텍스트를 반환
hash_page_type
주어진 페이지 유형을 반환Hash색인 토토 결과. 예를 들어:
test =# select hash_page_type (get_raw_page ( 'con_hash_index', 0)); hash_page_type --------------- 전달
hash_page_stats (page bytea) 레코드를 반환
hash_page_stats
a 버킷 또는 오버플로 페이지에 대한 정보를 반환합니다HASH색인. 예를 들어:
test =# select * from hash_page_stats (get_raw_page ( 'con_hash_index', 1)); -[레코드 1] ---+---------- live_items | 407 dead_items | 0 page_size | 8192 free_size | 8 hasho_prevblkno | 4096 hasho_nextblkno | 8474 Hasho_bucket | 0 hasho_flag | 66 hasho_page_id | 65408
hash_page_items (page bytea) 레코드를 반환
hash_page_items
a 버킷 또는 오버플로 페이지에 저장된 데이터에 대한 정보를 반환합니다Hash색인 토토 결과. 예를 들어:
test =# select * from hash_page_items (get_raw_page ( 'con_hash_index', 1)) 한계 5; ItemOffset | ctid | 데이터 ------------+----------+------------ 1 | (899,77) | 1053474816 2 | (897,29) | 1053474816 3 | (894,207) | 1053474816 4 | (892,159) | 1053474816 5 | (890,111) | 1053474816
hash_bitmap_info (색인 OID, Blkno bigint) 레코드를 반환
hash_bitmap_info
비트 맵 토토 결과에 특정 오버플로 토토 결과에 대한 비트의 상태가해시색인. 예를 들어:
test =# select * from hash_bitmap_info ( 'con_hash_index', 2052); Bitmapblkno | Bitmapbit | Bitstatus ------------+----------+------------ 65 | 3 | 티
hash_metapage_info (Page Bytea) 레코드를 반환
hash_metapage_info
a 메타 페이지에 저장된 정보를 반환합니다hash색인. 예를 들어:
test =# 마술, 버전, ntuples, ffactor, bsize, bmsize, bmshift, bmshift, 테스트-# Maxbucket, Highmask, Lowmask, Ovflpoint, Firstfree, NMAPS, Procid, 테스트-# regexp_replace (spares :: text, '(, 0)*', '')). test-# regexp_replace (mapp :: text, '(, 0)*', ''))) hash_metapage_info에서 test-# (get_raw_page ( 'con_hash_index', 0)); -[레코드 1] ---------------------------------------------------------------------------------- 마술 | 105121344 버전 | 4 ntuples | 500500 ffactor | 40 bsize | 8152 bmsize | 4096 bmshift | 15 Maxbucket | 12512 하이 마스크 | 16383 로우 마스크 | 8191 ovflpoint | 28 1 피리 | 1204 nmaps | 1 Procid | 450 스페어 | 0,0,0,0,0,1,1,1,1,1,1,1,1,4,4,4,45,55,58,59, 508,567,628,704,1193,1202,1204