Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3

F.25. pageInspect

ThePageInspectMô -đun cung cấp các chức năng cho phép bạn kiểm tra nội dung của các soi kèo bóng đá truoctran cơ sở dữ liệu ở mức thấp, rất hữu ích cho mục đích gỡ lỗi. Tất cả các chức năng này chỉ có thể được sử dụng bởi các siêu người dùng.

F.25.1. Chức năng chung

10656_10723

get_raw_pageĐọc khối được chỉ định của quan hệ được đặt tên và trả về một bản sao dưới dạngbyteaGiá trị. Điều này cho phép thu được một bản sao đồng nhất thời gian của khối.Forknên'Main'Đối với ngã ba dữ soi kèo bóng đá truoctran chính,'FSM'choPostgresql: Tài liệu:, 'VM'choPostgresql: Tàihoặc'init'để bắt đầu khởi tạo.

get_raw_page (văn bản relname, blkno bigint) trả về bytea

Phiên bản tốc ký củaget_raw_page, để đọc từ ngã ba chính. Tương đương vớiget_raw_page (relname, 'chính', blkno)

page_header (soi kèo bóng đá truoctran bytea) trả về bản ghi

page_header12165_12204PostgreSQLsoi kèo bóng đá truoctran và chỉ mục.

Một hình ảnh soi kèo bóng đá truoctran thu được bằngget_raw_pagenên được thông qua làm đối số. Ví dụ:

test =# select * từ page_header (get_raw_page ('pg_class', 0));
    lsn | SECKSUM | cờ | thấp hơn | trên | Đặc biệt | soi kèo bóng đá truoctran hóa | Phiên bản | Prune_xid
-----------+----------+--------+-------+-------+----------+----------+----------+---------------
 0/24A1B50 |        0 |      1 |   232 |   368 |    8192 |     8192 |       4 |         0

soi kèo bóng đá truoctran cột được trả về tương ứng với soi kèo bóng đá truoctran trường trongPageHeaderDataCấu trúc. Nhìn thấysrc/bao gồm/lưu trữ/bufpage.hĐể biết chi tiết.

Thetổng kiểm traTrường là tổng kiểm tra được lưu trữ trong soi kèo bóng đá truoctran, có thể không chính xác nếu soi kèo bóng đá truoctran bị hỏng bằng cách nào đó. Nếu kiểm tra dữ liệu không được bật cho trường hợp này, thì giá trị được lưu trữ là vô nghĩa.

page_checksum (soi kèo bóng đá truoctran bytea, blkno bigint) trả về smallint

page_checksumTính toán tổng kiểm tra cho soi kèo bóng đá truoctran, như thể nó được đặt tại khối đã cho.

Một hình ảnh soi kèo bóng đá truoctran thu được bằngGET_RAW_PAGEnên được thông qua làm đối số. Ví dụ:

test =# select page_checksum (get_raw_page ('pg_class', 0), 0);
 page_checksum
---------------
         13443

Lưu ý rằng tổng kiểm tra phụ thuộc vào số khối, do đó, soi kèo bóng đá truoctran số khối phù hợp phải được truyền (trừ khi thực hiện gỡ lỗi bí truyền).

Tổng kiểm tra được tính toán với chức năng này có thể được so sánh vớitổng kiểm traTrường kết quả của hàmpage_header. Nếu kiểm tra dữ soi kèo bóng đá truoctran được bật cho trường hợp này, thì hai giá trị phải bằng.

fsm_page_contents (soi kèo bóng đá truoctran bytea) trả về văn bản

FSM_Page_ContentsHiển thị cấu trúc nút bên trong củaFSMsoi kèo bóng đá truoctran. Ví dụ:

test =# chọn fsm_page_contents (get_raw_page ('pg_class', 'fsm', 0));

Đầu ra là một chuỗi đa dòng, với một dòng trên mỗi nút trong cây nhị phân trong soi kèo bóng đá truoctran. Chỉ những nút không được in. Cái gọi là con trỏ "Tiếp theo", chỉ vào vị trí tiếp theo được trả về từ soi kèo bóng đá truoctran, cũng được in.

xemSRC/phụ trợ/lưu trữ/freespace/readmeĐể biết thêm thông tin về cấu trúc củaFSMsoi kèo bóng đá truoctran.

F.25.2. Chức năng HEAP

HEAP_PAGE_ITEMS (soi kèo bóng đá truoctran bytea) Trả về Setof Record

HEAP_PAGE_ITEMSHiển thị tất cả các con trỏ dòng trên một soi kèo bóng đá truoctran heap. Đối với những con trỏ dòng đang được sử dụng, các tiêu đề tuple cũng như dữ liệu thô Tuple cũng được hiển thị. Tất cả các bộ dữ liệu được hiển thị, liệu các bộ dữ liệu có thể nhìn thấy bằng một ảnh chụp nhanh MVCC tại thời điểm soi kèo bóng đá truoctran RAW được sao chép hay không.

Một hình ảnh soi kèo bóng đá truoctran HEAP thu được bằngget_raw_pagenên được thông qua làm đối số. Ví dụ:

16266_16336

xemsrc/bao gồm/lưu trữ/itemid.hsrc/bao gồm/truy cập/htup_details.hđể giải thích soi kèo bóng đá truoctran trường được trả về.

Theheap_tuple_infomask_flagsCó thể sử dụng chức năng để giải nén soi kèo bóng đá truoctran bit cờ củaT_INFOMASKT_INFOMASK2cho các bộ dữ soi kèo bóng đá truoctran đống.

Tuple_data_split (rel_oid oid, t_data bytea, t_infomask integer, t_infomask2 integer, t_bits văn bản [, do_detoast bool]) returns bytea []

Tuple_Data_Split17142_17216

17249_17397

Hàm này nên được gọi với soi kèo bóng đá truoctran đối số giống như soi kèo bóng đá truoctran thuộc tính trả về củaHEAP_PAGE_ITEMS.

nếuDO_DETOASTTRUE, soi kèo bóng đá truoctran thuộc tính sẽ được định hướng khi cần thiết. Giá trị mặc định làfalse.

17819_17912

HEAP_PAGE_ITEM_ATTRSlà tương đương vớiHEAP_PAGE_ITEMS18153_18256do_detoastđó làSaiTheo mặc định.

Hình ảnh soi kèo bóng đá truoctran HEAP thu được bằng18433_18447nên được thông qua như đối số. Ví dụ:

18530_18627
heap_tuple_infomask_flags (t_infomask integer, t_infomask2 integer) trả về bản ghi

heap_tuple_infomask_flagsgiải mãt_infomaskT_INFOMASK2Được trả về bởiHEAP_PAGE_ITEMSthành một bộ mảng có thể đọc được của con người được làm bằng tên cờ, với một cột cho tất cả soi kèo bóng đá truoctran cờ và một cột cho soi kèo bóng đá truoctran cờ kết hợp. Ví dụ:

test =# chọn t_ctid, raw_flags, kết hợp_flags
         Từ heap_page_items (get_raw_page ('pg_class', 0)),
           Heap_tuple_infomask_flags (t_infomask, t_infomask2))
         Trong đó t_infomask không phải là null hoặc t_infomask2 không phải là null;

Hàm này nên được gọi với soi kèo bóng đá truoctran đối số giống như soi kèo bóng đá truoctran thuộc tính trả về củaHEAP_PAGE_ITEMS.

Cờ kết hợp được hiển thị cho soi kèo bóng đá truoctran macro cấp nguồn có tính đến giá trị của nhiều hơn một bit thô, chẳng hạn nhưHEAP_XMIN_FROZEN.

xemsrc/bao gồm/truy cập/htup_details.hĐể giải thích soi kèo bóng đá truoctran tên cờ được trả về.

F.25.3. Chức năng B-Tree

BT_METAP (Văn bản RelName) Trả về bản ghi

bt_metapTrả về thông tin về Metapage chỉ mục B-Tree. Ví dụ:

20682_21049
bt_page_stats (văn bản relname, blkno bigint) trả về bản ghi

bt_page_statsTrả về thông tin tóm tắt về các soi kèo bóng đá truoctran duy nhất của các chỉ mục b-cây. Ví dụ:

test =# select * từ bt_page_stats ('pg_cast_oid_index', 1);
-[Ghi 1]-+-----
blkno | 1
Loại | l
Live_Items | 224
Dead_Items | 0
AVG_ITEM_SIZE | 16
Trang_Size | 8192
free_size | 3668
BTPO_PREV | 0
BTPO_NEXT | 0
BTPO_LEVEL | 0
BTPO_FLAGS | 3
21829_21893

bt_page_items22064_22155

22188_24012

Đây là soi kèo bóng đá truoctran lá B-cây. Tất cả các bộ dữ liệu chỉ vào bảng xảy ra là đăng danh sách các bộ dữ liệu (tất cả đều lưu trữ tổng cộng 100 6 byte). Cũng có mộtHồiKhóa caoTuple atitemoffset24304_24317CTID24352_24489CTIDtrường thay thế.TIDSlà danh sách soi kèo bóng đá truoctran TID được lưu trữ dưới dạng danh sách đăng bài.

Trong một soi kèo bóng đá truoctran nội bộ (không hiển thị), phần số khối củaCTIDlà AHồiđường xuống, là số khối của một soi kèo bóng đá truoctran khác trong chính chỉ mục. Phần bù (số thứ hai) củaCTIDLưu trữ thông tin được mã hóa về tuple, chẳng hạn như số lượng cột có mặt (cắt hậu tố có thể đã loại bỏ soi kèo bóng đá truoctran cột hậu tố không cần thiết). soi kèo bóng đá truoctran cột bị cắt được coi là có giá trịMinus Infinityxông.

HTIDHiển thị một phần tid cho bộ tuple, bất kể đại diện tuple cơ bản. Giá trị này có thể khớpCTIDhoặc có thể được giải mã từ các biểu diễn thay thế được sử dụng bằng cách đăng danh sách các bộ dữ liệu và bộ dữ liệu từ các soi kèo bóng đá truoctran nội bộ. Tuples trong các soi kèo bóng đá truoctran nội bộ thường có cột TiD mức độ bị cắt ngắn, được biểu thị dưới dạng nullHTIDgiá trị.

Lưu ý rằng mục đầu tiên trên bất kỳ soi kèo bóng đá truoctran nào không đúng (bất kỳ soi kèo bóng đá truoctran nào có giá trị khác không trongbtpo_nexttrường) là soi kèo bóng đá truoctran của soi kèo bóng đá truoctranHồiKhóa caoHàng, có nghĩa là nóDatađóng vai trò giới hạn trên trên tất cả các mục xuất hiện trên soi kèo bóng đá truoctran, trong khi nóCTIDTrường không chỉ vào một khối khác. Ngoài ra, trên các soi kèo bóng đá truoctran nội bộ, mục dữ liệu thực đầu tiên (mục đầu tiên không phải là khóa cao) đáng tin cậy có mỗi cột bị cắt đi, không để lại giá trị thực tế trong của nóDataTrường. Một mục như vậy có liên kết hợp lệ trongCTIDTrường, tuy nhiên.

Để biết thêm chi tiết về cấu trúc của soi kèo bóng đá truoctran chỉ mục B-cây, xemPhần 67.4.1. Để biết thêm chi tiết về danh sách sao chép và đăng bài, xemPhần 67.4.3.

bt_page_items (soi kèo bóng đá truoctran bytea) trả về setof record

cũng có thể chuyển một soi kèo bóng đá truoctran chobt_page_itemsnhư mộtbyteaGiá trị. Một hình ảnh soi kèo bóng đá truoctran thu được bằngGET_RAW_PAGEnên được thông qua làm đối số. Vì vậy, ví dụ cuối cùng cũng có thể được viết lại như thế này:

27397_29235

Tất cả soi kèo bóng đá truoctran chi tiết khác giống như được giải thích trong mục trước.

F.25.4. Chức năng Brin

brin_page_type (soi kèo bóng đá truoctran bytea) trả về văn bản

brin_page_typeTrả về loại soi kèo bóng đá truoctran của đã choBrinsoi kèo bóng đá truoctran chỉ mục hoặc ném lỗi nếu soi kèo bóng đá truoctran không hợp lệBrinsoi kèo bóng đá truoctran. Ví dụ:

test =# chọn brin_page_type (get_raw_page ('brinidx', 0));
 Brin_Page_Type
----------------
 Meta
brin_metapage_info (soi kèo bóng đá truoctran bytea) trả về bản ghi

brin_metapage_info30522_30562BrinMETAPAGE INDEX. Ví dụ:

test =# Chọn * từ brin_metapage_info (get_raw_page ('brinidx', 0));
   Phép thuật | Phiên bản | pagesperrange | Lastrevmappage
------------+---------+-------------------+--------------------
 0xA8109CFA |       1 |             4 |              2
brin_revmap_data (soi kèo bóng đá truoctran bytea) trả về setof tid

brin_revmap_dataTrả về danh sách định danh tuple trong ABrinsoi kèo bóng đá truoctran bản đồ phạm vi chỉ mục. Ví dụ:

31349_31490
brin_page_items (soi kèo bóng đá truoctran bytea, index oid) trả về setof record

brin_page_itemsTrả về dữ soi kèo bóng đá truoctran được lưu trữ trongBrinsoi kèo bóng đá truoctran dữ liệu. Ví dụ:

31927_32685

soi kèo bóng đá truoctran cột được trả về tương ứng với soi kèo bóng đá truoctran trường trongbrinmemtuplebrinvaluesCấu trúc. Nhìn thấysrc/bao gồm/truy cập/brin_tuple.hĐể biết chi tiết.

F.25.5. Chức năng Gin

gin_metapage_info (soi kèo bóng đá truoctran bytea) trả về bản ghi

gin_metapage_infoTrả về thông tin về AGinMETAPAGE INDEX. Ví dụ:

test =# select * từ gin_metapage_info (get_raw_page ('gin_index', 0));
-[Ghi 1] ----+-----------
Pending_head | 4294967295
Pending_tail | 4294967295
đuôi_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
Phiên bản | 2
gin_page_opaque_info (soi kèo bóng đá truoctran bytea) trả về bản ghi

gin_page_opaque_infoTrả về thông tin về AGinVùng mờ mờ, giống như loại soi kèo bóng đá truoctran. Ví dụ:

test =# Chọn * từ gin_page_opaque_info (get_raw_page ('gin_index', 2));
 Liên kết phải | Maxoff |         cờ
-----------+--------+----------------------------
         5 |      0 | data, lá, nén
gin_leafpage_items (soi kèo bóng đá truoctran bytea) trả về setof record

gin_leafpage_itemsTrả về thông tin về dữ soi kèo bóng đá truoctran được lưu trữ trong AGinsoi kèo bóng đá truoctran lá. Ví dụ:

test =# Chọn First_Tid, NBytes, TIDS [0: 5]
        Từ gin_leafpage_items (get_raw_page ('gin_test_idx', 2));
 FIRST_TID | nbytes |                        một số_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)"

F.25.6. Chức năng Gist

gist_page_opaque_info (soi kèo bóng đá truoctran bytea) trả về bản ghi

gist_page_opaque_infoTrả về thông tin từ AGistKhu vực mờ đục của soi kèo bóng đá truoctran, chẳng hạn như loại NSN, RightLink và Page. Ví dụ:

test =# Chọn * từ gist_page_opaque_info (get_raw_page ('test_gist_idx', 2));
 lsn | nsn | Liên kết phải | cờ
-----+-----+-----------+--------
 0/1 | 0/0 |         1 | lá cây
36926_36996

gist_page_itemsTrả về thông tin về dữ liệu được lưu trữ trong một soi kèo bóng đá truoctran của AGISTINDEX. Ví dụ:

37321_37980
gist_page_items_bytea (soi kèo bóng đá truoctran bytea) trả về setof record

giống nhưgist_page_items, nhưng trả về dữ soi kèo bóng đá truoctran chính dưới dạng thôbyteaBlob. Vì nó không cố gắng giải mã khóa, nên không cần phải biết chỉ số nào có liên quan. Ví dụ:

38506_39702

F.25.7. Chức năng băm

Hash_page_type (soi kèo bóng đá truoctran bytea) trả về văn bản

Hash_page_typeTrả về loại soi kèo bóng đá truoctran của đã choHashsoi kèo bóng đá truoctran chỉ mục. Ví dụ:

test =# select hash_page_type (get_raw_page ('con_hash_index', 0));
 Hash_Page_Type
----------------
 Metapage
Hash_Page_Stats (soi kèo bóng đá truoctran bytea) trả về Setof Record

Hash_Page_StatsTrả về thông tin về một soi kèo bóng đá truoctran hoặc tràn của AHashINDEX. Ví dụ:

test =# select * từ hash_page_stats (get_raw_page ('con_hash_index', 1));
-[Ghi 1] ---+-----------
Live_Items | 407
Dead_Items | 0
Trang_Size | 8192
free_size | 8
Hasho_prevblkno | 4096
Hasho_nextblkno | 8474
Hasho_bucket | 0
Hasho_flag | 66
Hasho_page_id | 65408
Hash_page_items (soi kèo bóng đá truoctran bytea) trả về Setof Record

Hash_page_itemsTrả về thông tin về dữ liệu được lưu trữ trong một soi kèo bóng đá truoctran hoặc tràn của AHashsoi kèo bóng đá truoctran chỉ mục. Ví dụ:

test =# select * từ hash_page_items (get_raw_page ('con_hash_index', 1)) giới hạn 5;
 Itemoffset |   CTID |    dữ soi kèo bóng đá truoctran
------------+-----------+------------
          1 | (899,77) | 1053474816
          2 | (897,29) | 1053474816
          3 | (894.207) | 1053474816
          4 | (892.159) | 1053474816
          5 | (890.111) | 1053474816
Hash_bitmap_info (index oid, blkno bigint) trả về bản ghi

Hash_bitmap_infoHiển thị trạng thái của một chút trong soi kèo bóng đá truoctran bitmap cho một soi kèo bóng đá truoctran tràn cụ thể củaHashINDEX. Ví dụ:

test =# Chọn * từ Hash_bitmap_info ('con_hash_index', 2052);
 Bitmapblkno | Bitmapbit | bitstatus
--------------+-----------+-----------
          65 |         3 | t
Hash_metapage_info (soi kèo bóng đá truoctran bytea) trả về bản ghi

Hash_metapage_info43039_43091HashINDEX. Ví dụ:

test =# chọn ma thuật, phiên bản, ntuples, ffactor, bsize, bmsize, bmshift,
test-# maxbucket, highmask, lowmask, ovflpoint, firstfree, nmaps, procid,
test-# regexp_replace (phụ tùng :: text, '(, 0)*', '') như phụ tùng,
test-## regexp_replace (mapp :: text, '(, 0)*', '') dưới dạng bản đồ
test-# từ hash_metapage_info (get_raw_page ('con_hash_index', 0));
-[Ghi 1] ----------------------------------------------------------------------------------------------
Phép thuật | 105121344
Phiên bản | 4
ntuples | 500500
ffactor | 40
Bsize | 8152
BMSIZE | 4096
BMshift | 15
Maxbucket | 12512
Highmask | 16383
Lowmask | 8191
ovflpoint | 28
FirstFree | 1204
nmaps | 1
Procid | 450
phụ tùng | A

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài soi kèo bóng đá truoctran không chính xác, không phù hợp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài soi kèo bóng đá truoctran.