mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Move most /contrib README files into SGML. Some still need conversion
or will never be converted.
This commit is contained in:
@ -1,94 +0,0 @@
|
||||
The functions in this module allow you to inspect the contents of data pages
|
||||
at a low level, for debugging purposes. All of these functions may be used
|
||||
only by superusers.
|
||||
|
||||
1. Installation
|
||||
|
||||
$ make
|
||||
$ make install
|
||||
$ psql -e -f /usr/local/pgsql/share/contrib/pageinspect.sql test
|
||||
|
||||
2. Functions included:
|
||||
|
||||
get_raw_page
|
||||
------------
|
||||
get_raw_page reads one block of the named table and returns a copy as a
|
||||
bytea field. This allows a single time-consistent copy of the block to be
|
||||
made.
|
||||
|
||||
page_header
|
||||
-----------
|
||||
page_header shows fields which are common to all PostgreSQL heap and index
|
||||
pages.
|
||||
|
||||
A page image obtained with get_raw_page should be passed as argument:
|
||||
|
||||
regression=# SELECT * FROM page_header(get_raw_page('pg_class',0));
|
||||
lsn | tli | flags | lower | upper | special | pagesize | version | prune_xid
|
||||
-----------+-----+-------+-------+-------+---------+----------+---------+-----------
|
||||
0/24A1B50 | 1 | 1 | 232 | 368 | 8192 | 8192 | 4 | 0
|
||||
(1 row)
|
||||
|
||||
The returned columns correspond to the fields in the PageHeaderData struct.
|
||||
See src/include/storage/bufpage.h for details.
|
||||
|
||||
heap_page_items
|
||||
---------------
|
||||
heap_page_items shows all line pointers on a heap page. For those line
|
||||
pointers that are in use, tuple headers are also shown. All tuples are
|
||||
shown, whether or not the tuples were visible to an MVCC snapshot at the
|
||||
time the raw page was copied.
|
||||
|
||||
A heap page image obtained with get_raw_page should be passed as argument:
|
||||
|
||||
test=# SELECT * FROM heap_page_items(get_raw_page('pg_class',0));
|
||||
|
||||
See src/include/storage/itemid.h and src/include/access/htup.h for
|
||||
explanations of the fields returned.
|
||||
|
||||
bt_metap
|
||||
--------
|
||||
bt_metap() returns information about a btree index's metapage:
|
||||
|
||||
test=> SELECT * FROM bt_metap('pg_cast_oid_index');
|
||||
-[ RECORD 1 ]-----
|
||||
magic | 340322
|
||||
version | 2
|
||||
root | 1
|
||||
level | 0
|
||||
fastroot | 1
|
||||
fastlevel | 0
|
||||
|
||||
bt_page_stats
|
||||
-------------
|
||||
bt_page_stats() shows information about single btree pages:
|
||||
|
||||
test=> SELECT * FROM bt_page_stats('pg_cast_oid_index', 1);
|
||||
-[ RECORD 1 ]-+-----
|
||||
blkno | 1
|
||||
type | l
|
||||
live_items | 256
|
||||
dead_items | 0
|
||||
avg_item_size | 12
|
||||
page_size | 8192
|
||||
free_size | 4056
|
||||
btpo_prev | 0
|
||||
btpo_next | 0
|
||||
btpo | 0
|
||||
btpo_flags | 3
|
||||
|
||||
bt_page_items
|
||||
-------------
|
||||
bt_page_items() returns information about specific items on btree pages:
|
||||
|
||||
test=> SELECT * FROM bt_page_items('pg_cast_oid_index', 1);
|
||||
itemoffset | ctid | itemlen | nulls | vars | data
|
||||
------------+---------+---------+-------+------+-------------
|
||||
1 | (0,1) | 12 | f | f | 23 27 00 00
|
||||
2 | (0,2) | 12 | f | f | 24 27 00 00
|
||||
3 | (0,3) | 12 | f | f | 25 27 00 00
|
||||
4 | (0,4) | 12 | f | f | 26 27 00 00
|
||||
5 | (0,5) | 12 | f | f | 27 27 00 00
|
||||
6 | (0,6) | 12 | f | f | 28 27 00 00
|
||||
7 | (0,7) | 12 | f | f | 29 27 00 00
|
||||
8 | (0,8) | 12 | f | f | 2a 27 00 00
|
Reference in New Issue
Block a user