Skip to content

54.27.pg_stats#

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

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

表 54.27.pg_stats

列类型

说明

schemaname name(引用 pg_namespace.nspname

包含表的架构名称

tablename name(引用 pg_class.relname

表名称

attname 名称(引用 pg_attribute.attname

此行描述的列的名称

inherited 布尔值

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

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 时,由于减少了对磁盘的随机访问,因此估计对列的索引扫描比接近零时更便宜。(如果列数据类型没有 < 运算符,则此列为 null。)

most_common_elems anyarray

列值中出现频率最高的非空元素值列表。(标量类型为 Null。)

most_common_elem_freqs float4[]

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

elem_count_histogram float4[]

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

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