支持的版本: 当前 (17) / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4

52.27. pg_stats #

视图 pg_stats 提供了对存储在 pg_statistic 目录中的信息的访问。该视图仅允许访问 pg_statistic 中与用户有权读取的表相对应的行,因此允许公开读取此视图是安全的。

pg_stats 还旨在以比底层目录更易读的格式呈现信息,代价是每当为 pg_statistic 定义新的槽类型时,都必须扩展其模式。

表 52.27. pg_stats

列名 类型

描述

schemaname name (引用 pg_namespace.nspname)

包含表的模式名称

tablename name (引用 pg_class.relname)

表的名称

attname name (引用 pg_attribute.attname)

此行描述的列的名称

inherited bool

如果为 true,则此行包括来自子表的值,而不仅仅是指定表中的值

null_frac float4

列中为空的条目的比例

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。)

most_common_elem_freqs float4[]

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

elem_count_histogram float4[]

列值中不同非空元素值的计数直方图,后跟不同非空元素的平均数量。(对于标量类型为 Null。)

range_length_histogram anyarray

范围类型列的非空和非空范围值的长度直方图。(对于非范围类型为 Null。)

此直方图使用 subtype_diff 范围函数计算,无论范围边界是否包含。

range_empty_frac float4

列条目中值为空范围的比例。(对于非范围类型为 Null。)

range_bounds_histogram anyarray

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

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


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

提交更正

如果您在文档中发现任何不正确的内容、与特定功能体验不符的内容或需要进一步澄清的内容,请使用此表单报告文档问题。