↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

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

52.91. 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 中的统计结构更改时进行扩展。

表 52.92. 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

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

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 时,在表达式上的一个索引扫描被估计为比值接近 0 时的代价更低,因为这种情况减少了对磁盘的随机访问(如果表达式的数据类型不具有一个<操作符,则此列为 NULL)

most_common_elems anyarray

表达式值内最常出现的非 NULL 元素值的列表(对于标量类型为 NULL)。

most_common_elem_freqs float4[]

高频元素值的频率列表,即至少包含一次给定值的行所占的比例。所有逐元素频率之后还有两个或三个附加值:前述逐元素频率的最小值和最大值,以及可选的 NULL 元素频率(当 most_common_elems 为 NULL 时,此列为 NULL)。

elem_count_histogram float4[]

各表达式值中不同非 NULL 元素的数量的直方图,后面跟随该数量的平均值(对于标量类型为 NULL)。


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

报告文档问题

阅读 上游文档. 通过 PostgreSQL 文档反馈表单.