PG_STATISTIC
PG_STATISTIC系统表存储有关该数据库中表和索引列的统计数据。默认只有系统管理员权限才可以访问此系统表,普通用户需要授权才可以访问。
Vastbase将超宽列纳入了PG_STATISTIC的采样范围。若某列的数据为超宽值(OVER-WIDE VALUE:一个值的字节宽度超过了该列定义的最大字节宽度,即超过1024 bytes的字段),则统计得到超宽列中NULL值的比率、平均宽度等信息也将和非超宽值一起被记录在PG_STATISTIC系统表中,而不是跳过超宽列的信息收集。
表 1 PG_STATISTIC字段
名称
|
类型
|
描述
|
starelid
|
oid
|
所描述的字段所属的表或者索引。
|
starelkind
|
“char”
|
所属对象的类型。
|
staattnum
|
smallint
|
所描述的字段在表中的编号,从1开始。
|
stainherit
|
boolean
|
是否统计有继承关系的对象。
|
stanullfrac
|
real
|
该字段中为NULL的记录的比率。
|
stawidth
|
integer
|
非NULL记录的平均存储宽度,以字节计。
|
stadistinct
|
real
|
标识全局统计信息中数据库节点上字段里唯一的非NULL数据值的数目。
- 一个大于零的数值是独立数值的实际数目。
- 一个小于零的数值是表中行数的分数的负数(比如,一个字段的数值平均出现概率为两次,则可以表示为stadistinct=-0.5)。
- 零值表示独立数值的数目未知。
|
stakindN
|
smallint
|
一个编码,表示这种类型的统计存储在pg_statistic行的第n个“槽位”。
N的取值范围:1~5
|
staopN
|
oid
|
一个用于生成这些存储在第n个“槽位”的统计信息的操作符。比如,一个柱面图槽位会显示<操作符,该操作符定义了该数据的排序顺序。
N的取值范围:1~5
|
stanumbersN
|
real[]
|
第n个“槽位”的相关类型的数值类型统计,如果该槽位和数值类型没有关系,则为NULL。
N的取值范围:1~5
|
stavaluesN
|
anyarray
|
第n个“槽位”类型的字段数据值,如果该槽位类型不存储任何数据值,则为NULL。每个数组的元素值实际上都是指定字段的数据类型,因此,除了把这些字段的类型定义成anyarray之外,没有更好的办法。
N的取值范围:1~5
|
stadndistinct
|
real
|
标识dn1上字段里唯一的非NULL数据值的数目。
- 一个大于零的数值是独立数值的实际数目。
- 一个小于零的数值是表中行数的分数的负数(比如,一个字段的数值平均出现概率为两次,则可以表示为stadistinct=-0.5)。
- 零值表示独立数值的数目未知。
|
staextinfo
|
text
|
统计信息的扩展信息。预留字段。
|