| PostgreSQL 9.3.1 中文手册 | ||||
|---|---|---|---|---|
| 上一页 | 上一级 | 附录 F. 额外提供的模块 | 下一页 | |
pgstattuple模块提供各种函数以获得元组级别的状态。
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输出字段在表 F-21中描述。
表 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
输出字段是:
pg_relpages(text) returns bigintpg_relpages返回关系中页面的数量。
Tatsuo Ishii 和 Satoshi Nagayasu