更新时间:2024-08-20 GMT+08:00

PG_STATS

PG_STATS视图可用来查看存储在pg_statistic表里面的单列统计信息。该视图记录的统计信息更新时间间隔由GUC参数autovacuum_naptime设置。具体字段信息如表1所示。

表1 PG_STATS字段

名称

类型

引用

描述

schemaname

name

PG_NAMESPACE.nspname

表的模式名。

tablename

name

PG_CLASS.relname

表名。

attname

name

PG_ATTRIBUTE.attname

字段的名称。

inherited

boolean

-

暂不支持继承表,该字段为false。

null_frac

real

-

记录中字段为空的百分比。

avg_width

integer

-

字段记录以字节记的平均宽度。

n_distinct

real

-

  • 如果大于零,表示字段中独立数值的估计数目。
  • 如果小于零,表示独立数值的数目除以行数后乘-1得到的负数。比如,-1表示一个唯一字段,独立数值的个数和行数相同。
    1. 用负数形式是因为ANALYZE认为独立数值的数目是随着表增长而增长;
    2. 正数的形式用于在字段看上去好像有固定的可能值数目的情况下。
  • 如果等于零,表示独立数值的数目未知。

n_dndistinct

real

-

标识dn1上字段中非NULL的独立数值的数目。
  • 如果大于零,表示独立数值的实际数目。
  • 如果小于零,表示独立数值的数目除以行数后乘-1得到的负数。比如,一个字段的数值平均出现概率为两次,则可以表示为n_dndistinct=-0.5。
  • 如果等于零,表示独立数值的数目未知。

most_common_vals

anyarray

-

一个字段里最常用数值的列表。如果该字段不存在最常用数值,则为NULL。

most_common_freqs

real[]

-

一个记录字段里最常用数值的出现频率的列表,频率由每个数值出现的次数除以行数得到。如果most_common_vals是NULL,则为NULL。

histogram_bounds

anyarray

-

由排除了空值和MCV值之外的取值组成的等频直方图。如果某个数值出现在most_common_vals中,则不出现在直方图里。如果字段数据类型没有<操作符或者most_common_vals列表包含了该字段所有取值,则这个字段的直方图信息为NULL。

correlation

real

-

字段值的物理行序和逻辑行序的相关性。取值范围从-1到+1。该值接近-1或者+1的时候,因为减少了对磁盘的随机访问,索引扫描的开销比接近零的时候更少。如果字段数据类型没有<操作符,则这个字段的相关性为NULL。

most_common_elems

anyarray

-

一个最常用的非空元素的列表。

most_common_elem_freqs

real[]

-

一个记录最常用的非空元素的出现频率的列表。

elem_count_histogram

real[]

-

对于独立的非空元素的统计直方图。

partitionname

name

PG_PARTITION.relname

分区表的一级分区名。对于非分区表,该字段为空。

subpartitionname

name

PG_PARTITION.relname

分区表的二级分区名。对于分布式,该字段为空。