52.91. 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.92. pg_stats_ext_exprs Columns

列类型

描述

schemaname name (references pg_namespace.nspname)

包含表的模式的名称

tablename name (references pg_class.relname)

统计对象定义的表的名称

statistics_schemaname name (references pg_namespace.nspname)

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

statistics_name name (references pg_statistic_ext.stxname)

扩展统计对象的名称

statistics_owner name (references pg_authid.rolname)

扩展统计对象的所有者

expr text

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

null_frac float4

表达式条目为空的比例

avg_width int4

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

n_distinct float4

如果大于零,表达式中不同的值的估算数量,如果小于零,不同的值的负的数量被行数除。 (当ANALYZE相信不同值的数量可能随着表的增长而增加时,使用负数形式;当表达式看起来有固定数量的可能值时,使用正数形式。) 例如,-1表示不同的值的数量与行数相同的唯一表达式。

most_common_vals anyarray

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

most_common_freqs float4[]

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

histogram_bounds anyarray

一列表值,将表达式的值分为大致相等的组。 该值在most_common_vals中,如果存在,将从这个直方图计算中省略。 (如果表达式的数据类型不具有<操作符或者如果most_common_vals列表占了全部整体的比例,这个表达式为空)

correlation float4

表达式的值的物理行排序和逻辑排序之间的统计相关性。这个范围从-1 到 +1。 当该值接近-1或+1时,对表达式的索引扫描预计要比接近零的时候更便宜,因为减少了对磁盘的随机访问。 (如果表达式的数据类型没有<操作符,则该表达式为空。)

most_common_elems anyarray

与表达式的值一起最常出现的非空元素值的列表。(标量类型时为空)

most_common_elem_freqs float4[]

最常用元素值的频率列表,例如,包含给定值的至少一个实例的行的比例。 每个元素的频率跟随两到三个附加值;它们是之前的每个元素频率的最小值和最大值,以及可选的空元素的频率。 (当most_common_elems时为空。)

elem_count_histogram float4[]

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


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