支持的版本: 当前 (17) / 16 / 15 / 14
开发版本: devel

52.29. pg_stats_ext_exprs #

视图 pg_stats_ext_exprs 提供了对扩展统计信息对象中包含的所有表达式的信息的访问,它结合了存储在 pg_statistic_extpg_statistic_ext_data 目录中的信息。此视图只允许访问用户拥有的表的 pg_statistic_extpg_statistic_ext_data 的行,因此允许公共读取访问此视图是安全的。

pg_stats_ext_exprs 还旨在以比底层目录更易读的格式呈现信息 — 但代价是每当 pg_statistic_ext 中统计信息的结构发生变化时,都必须扩展其模式。

表 52.29. pg_stats_ext_exprs

列名 类型

描述

schemaname name (引用 pg_namespace.nspname)

包含表的模式的名称

tablename name (引用 pg_class.relname)

在其上定义统计信息对象的表的名称

statistics_schemaname name (引用 pg_namespace.nspname)

包含扩展统计信息对象的模式的名称

statistics_name name (引用 pg_statistic_ext.stxname)

扩展统计信息对象的名称

statistics_owner name (引用 pg_authid.rolname)

扩展统计信息对象的所有者

expr text

包含在扩展统计信息对象中的表达式

inherited bool (引用 pg_statistic_ext_data.stxdinherit)

如果为 true,则统计信息包含来自子表的值,而不仅仅是指定关系中的值

null_frac float4

为 null 的表达式条目的比例

avg_width int4

表达式条目的平均字节宽度

n_distinct float4

如果大于零,则为表达式中不同值的估计数量。如果小于零,则为不同值数量除以行数的负值。(当 ANALYZE 认为不同值的数量可能会随着表的增长而增加时,使用负数形式;当表达式似乎具有固定数量的可能值时,使用正数形式。)例如,-1 表示一个唯一的表达式,其中不同值的数量与行数相同。

most_common_vals anyarray

表达式中最常见值的列表。(如果没有值看起来比其他值更常见,则为 null。)

most_common_freqs float4[]

最常见值的频率列表,即每个值的出现次数除以总行数。(当 most_common_vals 为 null 时为 null。)

histogram_bounds anyarray

将表达式的值分成大致相等的人群组的值列表。如果存在,则从该直方图计算中省略 most_common_vals 中的值。(如果表达式数据类型没有 < 运算符,或者 most_common_vals 列表占了整个人群,则此表达式为 null。)

correlation float4

物理行排序和表达式值的逻辑排序之间的统计相关性。 范围从 -1 到 +1。 当值接近 -1 或 +1 时,由于减少了对磁盘的随机访问,因此估计表达式上的索引扫描会比接近零时更便宜。(如果表达式的数据类型没有 < 运算符,则此表达式为 null。)

most_common_elems anyarray

在表达式的值中出现频率最高的非空元素值的列表。(标量类型为 null。)

most_common_elem_freqs float4[]

最常见元素值的频率列表,即包含至少一个给定值实例的行所占的比例。每个元素频率之后是两个或三个附加值;这些是前面每个元素频率的最小值和最大值,以及可选的 null 元素的频率。(当 most_common_elems 为 null 时为 null。)

elem_count_histogram float4[]

表达式的值中不同非空元素值计数的直方图,后跟非空元素的平均数量。(标量类型为 null。)


可以使用 ALTER TABLE SET STATISTICS 命令按列控制数组字段中的最大条目数,或者通过设置 default_statistics_target 运行时参数全局控制。

提交更正

如果您发现文档中有任何不正确、与您对特定功能的体验不符或需要进一步说明的内容,请使用此表单报告文档问题。