↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
历史版本PostgreSQL 8.4 已于 2014 年 7 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

F.28. pgstattuple — 获取元组级统计信息 #

pgstattuple 模块提供了多种用于获取元组级统计信息的函数。

F.28.1. 函数

pgstattuple(text) returns record

pgstattuple 返回一个关系的物理长度、 “死”元组所占百分比以及其他信息。这可以帮助用户判断是否 需要执行清理。参数是目标关系的名称(可选带模式限定)。例如:

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.25 中描述。

表 F.25. 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 返回一个记录,其中显示关于 btree 索引的信息。例如:

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
    

输出列为:

表 F.26. pgstatindex输出列

列 类型 描述
version integer Btree 版本号
tree_level integer 根页所在的树层级
index_size bigint 索引中的总页数
root_block_no bigint 根块的位置
internal_pages bigint “内部”(上层)页数量
leaf_pages bigint 叶子页数量
empty_pages bigint 空页数量
deleted_pages bigint 已删除页数量
avg_leaf_density float8 叶子页平均密度
leaf_fragmentation float8 叶子页碎片率

与 pgstattuple 一样,结果是逐页累积得到的,因此不 应期望它表示整个索引的瞬时快照。

pg_relpages(text) returns bigint

pg_relpages 返回该关系中的页数。

F.28.2. 作者

Tatsuo Ishii 和 Satoshi Nagayasu

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。