Skip to content

54.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中的统计结构发生更改时,都必须扩展其架构。

表 54.29.pg_stats_ext_exprs

列类型

说明

schemaname name(引用 pg_namespace.nspname

包含表的架构名称

tablename 名称(引用 pg_class.relname

定义统计对象所在的表的名称

statistics_schemaname 名称(引用 pg_namespace.nspname

包含扩展统计对象的架构的名称

statistics_name 名称(引用 pg_statistic_ext.stxname

扩展统计对象的名称

statistics_owner 名称(引用 pg_authid.rolname

扩展统计对象的所有者

expr 文本

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

inherited 布尔(引用 pg_statistic_ext_data.stxdinherit

如果为真,则统计数据包括子表中的值,而不仅仅是指定关系中的值

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 元素值列表。(对于标量类型为 Null。)

most_common_elem_freqs float4[]

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

elem_count_histogram float4[]

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

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