F.29. pgstattuple
pgstattuple
模块提供各种函数以获得元组级别的状态。
F.29.1. 函数
pgstattuple(text) returns record
pgstattuple
返回一个关系的实际长度,"死的" 元组的百分比,和其他信息。这帮助用户确定是否需要vacuum。 该参数是目标关系的名字(可以有模式限定)。例如:
test=> SELECT * FROM pgstattuple('pg_catalog.pg_proc');
-[ RECORD 1 ]------+-------
table_len | 458752
tuple_count | 1470
tuple_len | 438896
tuple_percent | 95.67
dead_tuple_count | 11
dead_tuple_len | 3157
dead_tuple_percent | 0.69
free_space | 8932
free_percent | 1.95
输出字段在Table F-21中描述。
Table F-21. pgstattuple
输出字段
字段 | 类型 | 描述 |
---|---|---|
table_len |
bigint |
实际关系长度以字节计 |
tuple_count |
bigint |
活的元组的数量 |
tuple_len |
bigint |
活的元组的总长度,以字节计 |
tuple_percent |
float8 |
活的元组的百分比 |
dead_tuple_count |
bigint |
死的元组的数量 |
dead_tuple_len |
bigint |
死的元组的总长度,以字节计 |
dead_tuple_percent |
float8 |
死的元组的百分比 |
free_space |
bigint |
总的空闲空间,以字节计 |
free_percent |
float8 |
空闲空间的百分比 |
pgstattuple
只获取关系中的读锁。所以结果并不反映一个瞬间的快照; 并发的更新将影响它们。
如果HeapTupleSatisfiesNow
返回假,那么pgstattuple
判断一个元组是否是"死的"。
pgstattuple(oid) returns record
这和pgstattuple(text)
一样,除了目标关系是通过OID指定之外。
pgstatindex(text) returns record
pgstatindex
返回一个显示关于B-tree索引信息的记录。例如:
test=> SELECT * FROM pgstatindex('pg_cast_oid_index');
-[ RECORD 1 ]------+------
version | 2
tree_level | 0
index_size | 8192
root_block_no | 1
internal_pages | 0
leaf_pages | 1
empty_pages | 0
deleted_pages | 0
avg_leaf_density | 50.27
leaf_fragmentation | 0
输出字段是:
字段 | 类型 | 描述 |
---|---|---|
version |
integer |
B-tree 版本号 |
tree_level |
integer |
根页面的树级别 |
index_size |
bigint |
索引中页面的总数量 |
root_block_no |
bigint |
根块的位置 |
internal_pages |
bigint |
"internal" (上一级) 页面的数量 |
leaf_pages |
bigint |
叶子页面的数量 |
empty_pages |
bigint |
空白页面的数量 |
deleted_pages |
bigint |
已删除页面的数量 |
avg_leaf_density |
float8 |
叶子页面的平均密度 |
leaf_fragmentation |
float8 |
叶子页面碎片 |
与pgstattuple
一样,结果是一页一页的累积的, 不应该期望代表整个索引的一个瞬间快照。
pgstatginindex(regclass) returns record
pgstatginindex
返回一个显示关于GIN索引信息的记录。例如:
test=> SELECT * FROM pgstatginindex('test_gin_index');
-[ RECORD 1 ]--+--
version | 1
pending_pages | 0
pending_tuples | 0
输出字段是:
字段 | 类型 | 描述 |
---|---|---|
version |
integer |
GIN 版本号 |
pending_pages |
integer |
等待列表中页面的数量 |
pending_tuples |
bigint |
等待列表中元组的数量 |
pg_relpages(text) returns bigint
pg_relpages
返回关系中页面的数量。
F.29.2. 作者
Tatsuo Ishii 和 Satoshi Nagayasu