pg_clear_attribute_stats() 是一个系统函数,用于清除表中的属性级别统计信息。
pg_clear_attribute_stats() 在 PostgreSQL 18 中添加。
用法
pg_clear_attribute_stats (relationregclass,attnamename,inheritedboolean) →void
pg_clear_attribute_stats() 可以由数据库所有者或拥有 MAINTAIN 权限的角色执行。
变更历史
- PostgreSQL 18
- 已添加(提交 ce207d2a)
示例
pg_clear_attribute_stats() 的基本用法示例
postgres=# SELECT tablename, attname, n_distinct
FROM pg_stats
WHERE tablename = 'test'
AND attname = 'id';
tablename | attname | n_distinct
-----------+---------+------------
test | id | 42
(1 row)
postgres=# SELECT pg_clear_attribute_stats('test', 'id', false);
pg_clear_attribute_stats
--------------------------
(1 row)
postgres=# SELECT tablename, attname, n_distinct
FROM pg_stats
WHERE tablename = 'test'
AND attname = 'id';
tablename | attname | n_distinct
-----------+---------+------------
(0 rows)
参考资料
- PostgreSQL 文档: 数据库对象统计信息操作函数
