pg_set_attribute_stats()

用于更新属性级统计信息的函数
此条目与 PostgreSQL 的一项功能相关,该功能是 PostgreSQL 18 的一部分,预计将于 2025 年底发布。

pg_set_attribute_stats() 是一个用于更新属性级统计信息的系统函数。

pg_set_attribute_stats()PostgreSQL 18 中添加。

用法

pg_set_attribute_stats (
        relation regclass,
        attname name,
        inherited boolean
        [, null_frac real]
        [, avg_width integer]
        [, n_distinct real]
        [, most_common_vals text, most_common_freqs real[] ]
        [, histogram_bounds text ]
        [, correlation real ]
        [, most_common_elems text, most_common_elem_freqs real[] ]
        [, elem_count_histogram real[] ]
        [, range_length_histogram text ]
        [, range_empty_frac real ]
        [, range_bounds_histogram text ]
) → void

pg_set_attribute_stats() 可以由数据库所有者或具有 MAINTAIN 权限的角色执行。

pg_set_attribute_stats() 主要用于测试不同统计集对规划器的影响,以了解或预测计划更改。请注意,VACUUMANALYZE 操作可能会覆盖使用此函数所做的任何更改。

更改历史

示例

pg_set_attribute_stats() 的基本用法示例

postgres=# SELECT pg_set_attribute_stats(
  relation      := 'test',
  attname       := 'id',
  inherited     := false,
  n_distinct    := 42
);
 pg_set_attribute_stats 
------------------------
 
(1 row)

postgres=# SELECT tablename, attname, n_distinct
             FROM pg_stats
            WHERE tablename = 'test'
              AND attname = 'id';
 tablename | attname | n_distinct 
-----------+---------+------------
 test      | id      |         42
(1 row)

分类

服务器统计信息系统函数

参见

pg_clear_attribute_stats()pg_restore_attribute_stats()pg_set_relation_stats()

反馈

提交关于 "pg_set_attribute_stats()" 的任何评论、建议或更正 在此处