# 52.49.pg_statistic

目录pg_statistic存储有关数据库内容的统计数据。条目由分析并随后被查询规划器使用。请注意,所有统计数据本质上都是近似的,即使假设它是最新的。

通常只有一个条目,带有污点=错误的, 对于已分析的每个表列。如果表有继承的孩子,第二个条目污点=真的也被创建。此行表示继承树上列的统计信息,即您将看到的数据的统计信息选择 *柱子* 从 *桌子**,而污点=错误的行代表结果选择 *柱子* 仅来自 *桌子*.

pg_statistic还存储有关索引表达式值的统计数据。这些被描述为好像它们是实际的数据列;尤其,星光引用索引。但是,不会为普通的非表达式索引列创建条目,因为它与基础表列的条目是多余的。目前,索引表达式的条目总是有污点=错误的.

由于不同类型的统计数据可能适用于不同类型的数据,pg_statistic旨在不假设它存储什么样的统计数据。只有极其一般的统计信息(例如空值)在pg_statistic.其他所有内容都存储在“槽”中,它们是相关列的组,其内容由槽的一个列中的代码编号标识。有关更多信息,请参阅src/include/catalog/pg_statistic.h.

pg_statistic不应该被公众阅读,因为即使是关于表格内容的统计信息也可能被认为是敏感的。(示例:工资列的最小值和最大值可能非常有趣。)pg_stats是一个公众可读的观点pg_statistic仅公开有关当前用户可读的那些表的信息。

表 52.49.pg_statistic

列类型

描述
星光 样的(参考pg_class.样的)

描述的列所属的表或索引
状态 整数2(参考pg_attribute.attnum)

描述列的编号
污点 布尔

如果为 true,则统计信息包括继承子列,而不仅仅是指定关系中的值
标准压裂 浮动4

为空的列条目的分数
站宽 整数4

非空条目的平均存储宽度(以字节为单位)
鲜明的 浮动4

列中不同的非空数据值的数量。大于零的值是不同值的实际数量。小于零的值是表中行数乘数的负数;例如,大约 80% 的值是非空值且每个非空值平均出现两次的列可以表示为鲜明的= -0.4.零值意味着不同值的数量未知。
斯塔金德*ñ* 整数2

一个代码编号,指示存储在*ñ*的“插槽”pg_statistic排。
站*ñ* 样的(参考pg_operator.样的)

用于导出存储在*ñ*“插槽”。例如,直方图槽将显示<定义数据排序顺序的运算符。如果统计类型不需要运算符,则为零。
斯塔科尔*ñ* 样的(参考pg_collat​​ion.样的)

用于导出存储在*ñ*“插槽”。例如,可排序列的直方图槽将显示定义数据排序顺序的排序规则。不可整理数据为零。
位数*ñ* 浮动4[]

适当类型的数值统计*ñ*th “slot”,如果 slot 类型不涉及数值,则为 null
员工价值*ñ* 任意数组

适当类型的列数据值*ñ*th “slot”,如果 slot 类型不存储任何数据值,则为 null。每个数组的元素值实际上是特定列的数据类型,或相关类型,例如数组的元素类型,因此没有办法更具体地定义这些列的类型任意数组.