F.22. 토토 꽁 머니Inspect

The토토 꽁 머니InspectMô -đ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 trang 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.22.1. Chức năng chung

10580_10644

get_raw_토토 꽁 머니Đọ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 Fork Data Data,'FSM'cho bản đồ không gian trống,'VM'cho bản đồ khả năng hiển thị hoặc'init'để bắt đầu khởi tạo.

get_raw_토토 꽁 머니 (văn bản relname, blkno int) trả về bytea

​​Phiên bản tốc ký củaget_raw_토토 꽁 머니, để đọc từ ngã ba chính. Tương đương vớiget_raw_토토 꽁 머니 (relname, 'chính', blkno)

토토 꽁 머니_header (trang bytea) trả về bản ghi

토토 꽁 머니_headerHiển thị các trường phổ biến cho tất cảPostgreSQLTrang và chỉ mục.

Một hình ảnh trang thu được bằngget_raw_토토 꽁 머니nên được thông qua làm đối số. Ví dụ:

test =# select * từ 토토 꽁 머니_header (get_raw_토토 꽁 머니 ('pg_class', 0));
    lsn | SECKSUM | cờ | thấp hơn | trên | Đặc biệt | Trang hóa | Phiên bản | Prune_xid
-----------+----------+--------+-------+-------+----------+----------+----------+---------------
 0/24A1B50 |        0 |      1 |   232 |   368 |    8192 |     8192 |       4 |         0

Các cột được trả về tương ứng với các trường trong토토 꽁 머니HeaderDataCấu trúc. Nhìn thấysrc/bao gồm/lưu trữ/buf토토 꽁 머니.hĐể biết chi tiết.

Thetổng kiểm traTrường là tổng kiểm tra được lưu trữ trong trang, có thể không chính xác nếu trang bị hỏng. 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.

토토 꽁 머니_checksum (trang bytea, blkno int4) trả về smallint

토토 꽁 머니_checksumTính toán tổng kiểm tra cho trang, như thể nó được đặt tại khối đã cho.

Một hình ảnh trang thu được bằngGET_RAW_토토 꽁 머니nên được thông qua làm đối số. Ví dụ:

test =# chọn trang_checksum (get_raw_토토 꽁 머니 ('pg_class', 0), 0);
 토토 꽁 머니_checksum
---------------
         13443

Lưu ý rằng tổng kiểm tra phụ thuộc vào số khối, do đó, các số khối phù hợp sẽ đượ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àm토토 꽁 머니_header. Nếu kiểm tra dữ liệu được bật cho trường hợp này, thì hai giá trị phải bằng.

fsm_토토 꽁 머니_contents (trang bytea) trả về văn bản

fsm_토토 꽁 머니_contentsHiển thị cấu trúc nút bên trong của trang FSM. Ví dụ:

test =# chọn fsm_토토 꽁 머니_contents (get_raw_토토 꽁 머니 ('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 trang. 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ừ trang, cũng được in.

xemSRC/Backend/Storage/Freespace/ReadmeĐể biết thêm thông tin về cấu trúc của trang FSM.

F.22.2. Chức năng HEAP

HEAP_토토 꽁 머니_ITEMS (trang bytea) Trả về Setof Record

HEAP_토토 꽁 머니_ITEMSHiển thị tất cả các con trỏ dòng trên một trang 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 trang RAW được sao chép hay không.

Một hình ảnh trang HEAP thu được bằngGET_RAW_토토 꽁 머니nên được thông qua làm đối số. Ví dụ:

15956_16026

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

Theheap_tuple_infomask_flagsCó thể sử dụng chức năng để giải nén các bit cờ củaT_INFOMASKT_INFOMASK2cho các bộ dữ liệu đố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_Splitchia dữ liệu Tuple thành các thuộc tính giống như bên trong phụ trợ.

16939_17087

Hàm này nên được gọi với các đối số giống như các thuộc tính trả về củaHEAP_토토 꽁 머니_ITEMS.

nếudo_detoastTRUE, Các thuộc tính sẽ được detoast khi cần thiết. Giá trị mặc định làSai.

17509_17602

HEAP_토토 꽁 머니_ITEM_ATTRStương đương vớiHEAP_토토 꽁 머니_ITEMS17843_17946DO_DETOASTđó làSaiTheo mặc định.

Một hình ảnh trang HEAP thu được bằngget_raw_토토 꽁 머니nên được thông qua làm đối số. Ví dụ:

18220_18317
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_토토 꽁 머니_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ả các cờ và một cột cho các 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_토토 꽁 머니 ('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 các đối số giống như các thuộc tính trả về củaHEAP_토토 꽁 머니_ITEMS.

Cờ kết hợp được hiển thị cho các 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 các tên cờ được trả về.

F.22.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ụ:

test =# select * từ bt_metap ('pg_cast_oid_index');
-[Ghi 1] -----------+-------
Phép thuật | 340322
Phiên bản | 4
gốc | 1
Cấp độ | 0
fastroot | 1
Fastlevel | 0
Cổ nhất_xact | 582
last_cleanup_num_tuples | 1000
Allequalimage | f
bt_토토 꽁 머니_stats (văn bản relname, blkno int) trả về bản ghi

bt_토토 꽁 머니_statsTrả về thông tin tóm tắt về một trang của các chỉ mục B-cây. Ví dụ:

test =# select * từ bt_토토 꽁 머니_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 | 0
BTPO_FLAGS | 3
bt_토토 꽁 머니_items (văn bản relname, blkno int) trả về setof record

bt_토토 꽁 머니_itemsTrả về thông tin chi tiết về tất cả các mục trên trang chỉ mục B-Tree. Ví dụ:

21855_23679

Đây là trang 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ộtKhóa caoTuple atitemoffsetSố 1.CTID24019_24156CTIDtrường thay thế.TIDSlà danh sách các TID được lưu trữ dưới dạng danh sách đăng bài.

Trong một trang nội bộ (không hiển thị), phần số khối của phầnCTIDlà mộtđường xuốngHồi, là số khối của một trang 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 ngắn hậu tố có thể đã loại bỏ các cột hậu tố không cần thiết). Các cột bị cắt được coi là có giá trịHồitrừ 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 trang nội bộ. Tuples trong các trang 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ỳ trang nào không đúng (bất kỳ trang nào có giá trị khác không trongbtpo_nexttrường) là trang của trangKhóa cao, 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 trang, trong khiCTIDTrường không chỉ vào một khối khác. Ngoài ra, trên các trang 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, không để lại giá trị thực tế trongDataTrườ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 các chỉ mục B-cây, xemPhần 63.4.1. Để biết thêm chi tiết về danh sách sao chép và đăng bài, xemPhần 63.4.2.

bt_토토 꽁 머니_items (trang bytea) trả về setof record

cũng có thể chuyển một trang chobt_토토 꽁 머니_itemsnhư mộtbyteaGiá trị. Một hình ảnh trang thu được bằngget_raw_토토 꽁 머니nê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:

test =# chọn itemoffset, ctid, itemlen, nulls, vars, data, đã chết, htid, tids [0: 2] như một số_tids
        Từ bt_토토 꽁 머니_items (get_raw_토토 꽁 머니 ('tenk2_hundred', 5));
 Itemoffset |   CTID | itemlen | NULLS | vars |          Dữ liệu | chết |  htid |      một số_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 | f | (6,28) | "(6,28)", "(11,1)"
         12 | (16.8292) |     616 | f | f | 2E 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)"

Tất cả các chi tiết khác giống như được giải thích trong mục trước.

F.22.4. Chức năng Brin

brin_토토 꽁 머니_type (trang bytea) trả về văn bản

brin_토토 꽁 머니_typeTrả về loại trang của đã choBrinTrang chỉ mục hoặc ném lỗi nếu trang không phải là hợp lệBrinTrang. Ví dụ:

test =# chọn brin_토토 꽁 머니_type (get_raw_토토 꽁 머니 ('brinidx', 0));
 Brin_Page_Type 
----------------
 Meta
brin_meta토토 꽁 머니_info (trang bytea) trả về bản ghi

brin_meta토토 꽁 머니_infoTrả về thông tin về các loại về ABrinMETA토토 꽁 머니 INDEX. Ví dụ:

test =# Chọn * từ brin_meta토토 꽁 머니_info (get_raw_토토 꽁 머니 ('brinidx', 0));
   Phép thuật | Phiên bản | pagesperrange | Lastrevmappage 
------------+---------+-------------------+--------------------
 0xA8109CFA |       1 |             4 |              2
brin_revmap_data (trang bytea) trả về setof tid

brin_revmap_dataTrả về danh sách định danh tuple trong ABrinTrang Bản đồ phạm vi chỉ mục. Ví dụ:

test =# Chọn * từ brin_revmap_data (get_raw_토토 꽁 머니 ('brinidx', 2)) giới hạn 5;
  trang  
---------
 (6.137)
 (6.138)
 (6.139)
 (6.140)
 (6.141)
brin_토토 꽁 머니_items (trang bytea, index oid) trả về setof record

brin_토토 꽁 머니_itemsTrả về dữ liệu được lưu trữ trongBrinTrang dữ liệu. Ví dụ:

test =# Chọn * từ brin_토토 꽁 머니_items (get_raw_토토 꽁 머니 ('brinidx', 5),
                                     'Brinidx')
       Đặt hàng bởi Blknum, Attnum Giới hạn 6;
 Itemoffset | blknum | attnum | allnulls | Hasnull | người giữ chỗ |    giá trị     
------------+--------+--------+----------+----------+--------------+------------------
        137 |      0 |      1 | t | f | f | 
        137 |      0 |      2 | f | f | f | 1 .. 88
        138 |      4 |      1 | t | f | f | 
        138 |      4 |      2 | f | f | f | 89 .. 176
        139 |      8 |      1 | t | f | f | 
        139 |      8 |      2 | f | f | f | 177 .. 264

Các cột được trả về tương ứng với các 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.22.5. Chức năng Gin

gin_meta토토 꽁 머니_info (trang bytea) trả về bản ghi

gin_meta토토 꽁 머니_infoTrả về thông tin về AGinMETA토토 꽁 머니 INDEX. Ví dụ:

test =# Chọn * từ gin_meta토토 꽁 머니_info (get_raw_토토 꽁 머니 ('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_OPAIQUE_INFO (trang bytea) trả về bản ghi

gin_토토 꽁 머니_opaque_infoTrả về thông tin về AGinVùng mờ mờ, giống như loại trang. Ví dụ:

test =# select * từ gin_토토 꽁 머니_opaque_info (get_raw_토토 꽁 머니 ('gin_index', 2));
 Liên kết phải | Maxoff |         cờ
-----------+--------+----------------------------
         5 |      0 | data, lá, nén
gin_leaf토토 꽁 머니_items (trang bytea) trả về setof record

gin_leaf토토 꽁 머니_itemsTrả về thông tin về dữ liệu được lưu trữ trong AGinTrang lá. Ví dụ:

test =# Chọn First_Tid, NBytes, TIDS [0: 5]
        Từ gin_leaf토토 꽁 머니_items (get_raw_토토 꽁 머니 ('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.22.6. Chức năng băm

Hash_page_type (trang bytea) trả về văn bản

Hash_토토 꽁 머니_TypeTrả về loại trang đã choHashTrang chỉ mục. Ví dụ:

test =# select hash_page_type (get_raw_토토 꽁 머니 ('con_hash_index', 0));
 Hash_토토 꽁 머니_Type 
----------------
 Metapage
Hash_page_stats (trang bytea) trả về Setof Record

Hash_Page_StatsTrả về thông tin về một trang hoặc tràn của AHashINDEX. Ví dụ:

test =# select * từ hash_page_stats (get_raw_토토 꽁 머니 ('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 (trang bytea) trả về Setof Record

Hash_Page_ItemsTrả về thông tin về dữ liệu được lưu trữ trong một trang hoặc tràn của AHashTrang chỉ mục. Ví dụ:

test =# select * từ hash_page_items (get_raw_토토 꽁 머니 ('con_hash_index', 1)) giới hạn 5;
 Itemoffset |   CTID |    dữ liệu    
------------+-----------+------------
          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 int) trả về bản ghi

Hash_bitmap_infoHiển thị trạng thái của một chút trong trang bitmap cho một trang tràn cụ thể củaHashINDEX. Ví dụ:

test =# select * từ hash_bitmap_info ('con_hash_index', 2052);
 Bitmapblkno | Bitmapbit | bitstatus 
--------------+-----------+-----------
          65 |         3 | t
Hash_metapage_info (trang bytea) Trả về bản ghi

Hash_metapage_infoTrả về thông tin được lưu trữ trong trang meta của AHashINDEX. 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_토토 꽁 머니 ('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 liệu không chính xác, không khớ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 liệu.