PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

53.31. pg_stats_ext_exprs #

视图 pg_stats_ext_exprs 提供对扩展统计对象中 所含全部表达式信息的访问, 组合了存储在 pg_statistic_ext 和 pg_statistic_ext_data 目录中的信息。 这个视图只允许访问与用户拥有的表对应的 pg_statistic_ext 和 pg_statistic_ext_data 行,因此允许公众读取这个视图是安全的。

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

Table 53.31. \1 字段列说明

Column Type

Description

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

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

inherited bool (references pg_statistic_ext_data.stxdinherit)

如果为 true,这些统计包含来自子表的值,而不只是指定关系中的 值

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 运行时参数进行 全局控制。