53.31. pg_stats #
视图 pg_stats 提供对存储在 pg_statistic 目录中信息的访问。此视图仅允许访问用户具有读取权限的表对应的 pg_statistic 行,因此可以安全地允许对此视图进行公共读取访问。
pg_stats 也旨在以比底层目录更易读的格式呈现信息—
但其模式必须在为 pg_statistic 定义新的槽类型时进行扩展。
表 53.31. pg_stats 列
列类型 描述 |
|---|
包含表的模式名称 |
表的名称 |
表的 OID |
被此行描述的列名 |
本行所描述列的编号 |
如果为真,则此行包括来自子表的值,而不仅仅是指定表中的值 |
列项中为 NULL 的比例 |
列的条目的平均字节宽度 |
如果大于零,表示列中不同值的估计个数。如果小于零,是不同值个数除以行数的负值(当 |
列中高频值的一个列表(如果没有任何一个值看起来比其他值更常用,此列为 NULL) |
高频值的频率列表,即每一个高频值的出现次数除以总行数(如果 |
用于将列值划分为若干组的值列表,各组所含值的数量近似相等。如果存在 |
物理行顺序和列值逻辑顺序之间的统计相关性。其范围从-1 到+1。当值接近-1 或+1 时,在列上的一个索引扫描被估计为比值接近 0 时的代价更低,因为这种情况减少了对磁盘的随机访问(如果列数据类型不具有一个 |
列值内最常出现的非 NULL 元素值的列表(对于标量类型为 NULL)。 |
高频元素值的频率列表,即至少包含一次给定值的行所占的比例。所有逐元素频率之后还有两个或三个附加值:前述逐元素频率的最小值和最大值,以及可选的 NULL 元素频率(当 |
各列值中不同非 NULL 元素的数量的直方图,后面跟随该数量的平均值(对于标量类型为 NULL)。 |
范围类型列中非空且非 NULL 的范围值长度直方图。(非范围类型为 null。)
该直方图使用范围函数 |
列项中值为空范围的比例。(非范围类型为 null。) |
非空且非 NULL 的范围值的下界和上界直方图(对于非范围类型为 NULL)。 这两个直方图表示为单个范围数组,其中各范围的下界表示下界直方图,上界表示上界直方图。 |
数组字段中条目的最大数量可以使用 ALTER
TABLE SET STATISTICS 命令逐列控制,或者通过设置 default_statistics_target 运行时参数来全局控制。