mirror of
https://github.com/postgres/postgres.git
synced 2025-08-08 06:02:22 +03:00
Teach pageinspect about nbtree deduplication.
Add a new bt_metap() column to display the metapage's allequalimage
field. Also add three new columns to contrib/pageinspect's
bt_page_items() function:
* Add a boolean column ("dead") that displays the LP_DEAD bit value for
each non-pivot tuple.
* Add a TID column ("htid") that displays a single heap TID value for
each tuple. This is the TID that is returned by BTreeTupleGetHeapTID(),
so comparable values are shown for pivot tuples, plain non-pivot tuples,
and posting list tuples.
* Add a TID array column ("tids") that displays TIDs from each tuple's
posting list, if any. This works just like the "tids" column from
pageinspect's gin_leafpage_items() function.
No version bump for the pageinspect extension, since there hasn't been a
stable Postgres release since the last version bump (the last bump was
part of commit 58b4cb30
).
Author: Peter Geoghegan
Discussion: https://postgr.es/m/CAH2-WzmSMmU2eNvY9+a4MNP+z02h6sa-uxZvN3un6jY02ZVBSw@mail.gmail.com
This commit is contained in:
@@ -12,6 +12,7 @@ fastroot | 1
|
||||
fastlevel | 0
|
||||
oldest_xact | 0
|
||||
last_cleanup_num_tuples | -1
|
||||
allequalimage | t
|
||||
|
||||
SELECT * FROM bt_page_stats('test1_a_idx', 0);
|
||||
ERROR: block 0 is a meta page
|
||||
@@ -41,6 +42,9 @@ itemlen | 16
|
||||
nulls | f
|
||||
vars | f
|
||||
data | 01 00 00 00 00 00 00 01
|
||||
dead | f
|
||||
htid | (0,1)
|
||||
tids |
|
||||
|
||||
SELECT * FROM bt_page_items('test1_a_idx', 2);
|
||||
ERROR: block number out of range
|
||||
@@ -54,6 +58,9 @@ itemlen | 16
|
||||
nulls | f
|
||||
vars | f
|
||||
data | 01 00 00 00 00 00 00 01
|
||||
dead | f
|
||||
htid | (0,1)
|
||||
tids |
|
||||
|
||||
SELECT * FROM bt_page_items(get_raw_page('test1_a_idx', 2));
|
||||
ERROR: block number 2 is out of range for relation "test1_a_idx"
|
||||
|
Reference in New Issue
Block a user