Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

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

为 null 的列项的比例

avg_width int4

列项的平均字节宽度

n_distinct float4

如果大于零,则为列中估计的不同值的数目。如果小于零,则为不同值的数目除以行数后的相反数。(当 ANALYZE 认为随着表增加不同值的数目可能会增加时,使用相反数形式;当该列明显有固定数量的可能值时,使用正数形式。)例如,-1 表示不同值的数目与行数相同的唯一列。

most_common_vals anyarray

列中出现次数最多的值列表。(对于不比其他值出现次数多的值返回 null。)

most_common_freqs float4[]

出现次数最多的值的频率列表,即将出现次数除以总行数。(如果 most_common_vals 存在,则返回 null。)

histogram_bounds anyarray

将列的各个值分为数目基本相等的不同组的值列表。如果存在 most_common_vals 中的值,则从该直方图计算中将其排除。(如果列数据类型没有 < 运算符或如果 most_common_vals 列表占整个总体,则此列为空。)

correlation float4

物理行顺序和列值逻辑顺序之间的统计相关性。该值介于 -1 到 +1 之间。当该值接近 -1 或 +1 时,针对该列执行的索引扫描比接近零时估计要便宜,这是因为减少了随机磁盘访问次数。(如果该列数据类型没有 < 运算符,则此列为空。)

most_common_elems anyarray

列值中最常出现的非空元素值列表。(标量类型的 null 值。)

most_common_elem_freqs float4[]

出现次数最多的元素值的频率列表,即包含给定值至少一个实例的行分数。每个元素频率之后有两三个其他值;这些元素频率是前面每个元素频率的最小值和最大值,还可以选择包含 null 元素的频率。(如果 most_common_elems 存在,则返回 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 运行时参数在全局进行设置。