选择 打开 改范围 完整检索页
受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10
当前 PostgreSQL 版本不在支持生命周期内。
您可以参阅当前版本的对应页面,或其他在上面列出的活跃大版本。

52.87. pg_stats #

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

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

Table 52.88. pg_stats

Name 类型 引用 描述
schemaname name pg_namespace.nspname 包含表的模式名称
tablename name pg_class.relname 表的名称
attname name pg_attribute.attname 被此行描述的列名
inherited bool   如果为true,则此行包括来自子表的值,而不仅仅是指定表中的值
null_frac real   列项中为空的比例
avg_width integer   列的条目的平均字节宽度
n_distinct real   如果大于零,表示列中可区分值的估计个数。如果小于零,是可区分值个数除以行数的负值(当ANALYZE认为可区分值的数量会随着表增长而增加时采用负值的形式,而如果认为列具有固定数量的可选值时采用正值的形式)。 例如,-1表示一个唯一列,即其中可区分值的个数等于行数。
most_common_vals anyarray   列中高频值的一个列表(如果没有任何一个值看起来比其他值更常用,此列为空)
most_common_freqs real[]   高频值的频率列表,即每一个高频值的出现次数除以总行数(如果most_common_vals为空,则此列为空)
histogram_bounds anyarray   将列值划分成大小接近的组的值列表。如果存在most_common_vals,其中的值会被直方图计算所忽略(如果列类型没有一个<操作符或者most_common_vals等于整个值集合,则此列为空)
correlation real   物理行顺序和列值逻辑顺序之间的统计关联。其范围从-1到+1。当值接近-1或+1时,在列上的一个索引扫描被认为比值接近0时的代价更低,因为这种情况减少了对磁盘的随机访问(如果列数据类型不具有一个<操作符,则此列为空)
most_common_elems anyarray   在列值中,最经常出现的非空元素列表(对标量类型为空)
most_common_elem_freqs real[]   最常用元素值的频度列表,即含有至少一个给定值实例的行的分数。 在每个元素的频度之后有二至三个附加值,它们是每个元素频度的最小和最大值,以及可选的空元素的频度(如果most_common_elems为空,则此列为空)
elem_count_histogram real[]   在列值中可区分非空元素值计数的一个直方图,后面跟随可区分非空元素的平均数(对于标量类型为空)

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