pgstattuple

显示元组级统计信息

概览

扩展包名版本分类许可证语言
pgstattuple1.5STATPostgreSQLC
ID扩展名BinLibLoadCreateTrustReloc模式
6970pgstattuple-
相关扩展pageinspect pg_freespacemap pg_visibility pg_rewrite pg_checksums pg_catcheck amcheck toastinfo

版本

PG18PG17PG16PG15PG14
1.51.51.51.51.5

安装

提示:这是 PostgreSQL 内核自带的 contrib 扩展

CREATE EXTENSION pgstattuple;

用法

pgstattuple: 元组级别统计

pgstattuple 提供函数来获取表和索引的元组级别统计信息,包括死元组计数和空闲空间指标。

表统计

SELECT * FROM pgstattuple('my_table');

 table_len          | 81920
 tuple_count        | 1000
 tuple_len          | 72000
 tuple_percent      | 87.89
 dead_tuple_count   | 50
 dead_tuple_len     | 3600
 dead_tuple_percent | 4.39
 free_space         | 6320
 free_percent       | 7.71

近似(更快)版本,使用可见性映射和 FSM:

SELECT * FROM pgstattuple_approx('my_table');
-- 返回:table_len、scanned_percent、approx_tuple_count、approx_tuple_len、
--       dead_tuple_count、dead_tuple_len、approx_free_space 等

B-Tree 索引统计

SELECT * FROM pgstatindex('my_index');

 version            | 4
 tree_level         | 2
 index_size         | 1327104
 root_block_no      | 3
 internal_pages     | 1
 leaf_pages         | 160
 empty_pages        | 0
 deleted_pages      | 0
 avg_leaf_density   | 89.27
 leaf_fragmentation | 0

GIN 索引统计

SELECT * FROM pgstatginindex('my_gin_index');
-- 返回:version、pending_pages、pending_tuples

Hash 索引统计

SELECT * FROM pgstathashindex('my_hash_index');
-- 返回:version、bucket_pages、overflow_pages、bitmap_pages、
--       unused_pages、live_items、dead_tuples、free_percent

页面计数

SELECT pg_relpages('my_table');

访问权限

限制为超级用户和拥有 pg_stat_scan_tables 权限的角色。


最后修改 2026-03-12: update extension pages (f579993)