1. 插件kbstattuple简介
kbstattuple提供了多种函数来获得关系中元组的统计信息。默认情况下,只有角色pg_stat_scan_tables的成员和超级用户可以使用。
-
插件名为 kbstattuple
-
插件版本 V1.5
2. 插件kbstattuple加载方式
CREATE EXTENSION kbstattuple;
3. 插件kbstattuple的参数配置
无需配置任何参数。
4. 插件kbstattuple的使用方法
kbstattuple提供以下函数:
返回给定关系的物理长度、“死亡”元组百分比等信息。这些信息可以帮助用户决定是否要对关系做清理。
名称 |
类型 |
描述 |
|
---|---|---|---|
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(regclass)相同,区别是通过字符串指定关系。
返回B树索引的相关信息。
名称 |
类型 |
描述 |
---|---|---|
version |
integer |
B树页面类型版本号 |
tree_level |
integer |
root页面的高度 |
index_size |
bigint |
索引大小,单位字节 |
root_block_no |
bigint |
root页面的块号 |
internal_pages |
bigint |
中间页面的数量 |
leaf_pages |
bigint |
叶子页面的数量 |
empty_pages |
bigint |
空页面的数量 |
deleted_pages |
bigint |
被删除页面的数量 |
avg_leaf_density |
float8 |
叶子页面的平均填充度 |
leaf_fragmentation |
float8 |
叶子页面的碎片化程度 |
和pgstatindex(regclass)相同,区别是通过字符串指定关系。
返回GIN索引的相关信息。
名称 |
类型 |
描述 |
---|---|---|
version |
integer |
GIN索引页面类型版本号 |
pending_pages |
integer |
pending列表中的页面数 |
pending_tuples |
bigint |
pending列表中的元组数 |
返回HASH索引的相关信息。
名称 |
类型 |
描述 |
---|---|---|
version |
integer |
HASH索引页面类型版本号 |
bucket_pages |
bigint |
桶页面的页面数 |
overflow_pages |
bigint |
溢出页的页面数 |
bitmap_pages |
bigint |
位图页的页面数 |
unused_pages |
bigint |
未使用页面的页面数 |
live_items |
bigint |
可用元组数 |
dead_tuples |
bigint |
无效元组数 |
free_percent |
float |
空闲空间占比 |
返回关系的页面数。
和pg_relpages(regclass)相同,区别是通过字符串指定关系。
pgstattuple_approx是pgstattuple的一个更快速的替代,它返回近似的结果。这个函数通过VM页面跳过标记了“全部可见”的页面扫描,并从FSM页面中获取这类页面的空闲空间大小并假设剩余的空间都有“活着的”元组使用。对于不能被跳过的页面,函数会扫描每个元组并进行统计。最后,它会基于已扫描的页面元组数量来估计“活着”的元组总数。除对应pgstattuple的列外,有一个float8类型的列scanned_percent显示扫描的页面占比。
5. 插件kbstattuple卸载方法
DROP EXTENSION kbstattuple;
6. 插件kbstattuple升级方法
通过 ALTER EXTENSION升级插件。
示例,升级到 1.1
ALTER EXTENSION kbstattuple UPDATE TO '1.1';