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

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

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
开发快照。 PostgreSQL 20devel 尚未正式发布,内容仍可能变化。

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

表 53.33. pg_stats_ext_exprs 列

列类型

描述

schemaname name(引用 pg_namespace.nspname)

包含表的模式名称

tablename name(引用 pg_class.relname)

定义了统计信息对象的表的名称

tableid oid(引用 pg_class.oid)

定义了统计信息对象的表的 OID

statistics_schemaname name(引用 pg_namespace.nspname)

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

statistics_name name(引用 pg_statistic_ext.stxname)

扩展统计信息对象的名称

statistics_id oid(引用 pg_statistic_ext.oid)

扩展统计信息对象的 OID

statistics_owner name(引用 pg_authid.rolname)

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

expr text

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

inherited bool(引用 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 时,在表达式上的一个索引扫描被估计为比值接近 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)。

range_length_histogram anyarray

范围类型表达式中非空且非 NULL 的范围值长度直方图。(对非范围类型为 NULL。)

该直方图使用范围函数 subtype_diff 计算,而不考虑范围边界是否包含端点。

range_empty_frac float4

表达式条目值为空范围的比例。(对非范围类型为 NULL。)

range_bounds_histogram anyarray

非空且非 NULL 的范围值的下界和上界直方图(对于非范围类型为 NULL)。

这两个直方图表示为单个范围数组,其中各范围的下界表示下界直方图,上界表示上界直方图。


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

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.