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

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

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 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.89. pg_stats #

视图 pg_stats 提供对存储在 pg_statistic 目录中信息的访问。此视图仅允许访问用户具有读取权限的表对应的 pg_statistic 行,因此可以安全地允许对此视图进行公共读取访问。

pg_stats 也旨在以比底层目录更易读的格式呈现信息— 但其模式必须在为 pg_statistic 定义新的槽类型时进行扩展。

表 52.90. pg_stats 列

列类型

描述

schemaname name(引用 pg_namespace.nspname)

包含表的模式名称

tablename name(引用 pg_class.relname)

表的名称

attname name(引用 pg_attribute.attname)

被此行描述的列名

inherited bool

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

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 文档反馈表单.