On this page
51.87. pg_stats
视图pg_stats
提供对pg_statistic目录中存储的信息的访问。此视图仅允许访问pg_statistic
的行,该行与用户有权读取的表相对应,因此,允许公共读取访问此视图是安全的。
pg_stats
还被设计为以比基础目录更具可读性的格式显示信息-以每当为pg_statistic
定义新的插槽类型时都必须扩展其架构为代价。
表 51.88. pg_stats
列
Name | Type | References | Description |
---|---|---|---|
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 表示 a 唯一列,其中不同值的数量与行数相同。 |
|
most_common_vals |
anyarray |
列中最常用值的列表。 (如果没有值似乎比其他任何值都更普遍,则为 null.) | |
most_common_freqs |
real[] |
最常见值的频率列表,即每个值的出现次数除以总行数。 (如果most_common_vals 为空,则为 null.) |
|
histogram_bounds |
anyarray |
值列表,将列的值划分为大致相等的总体。 most_common_vals 中的值(如果存在)将从此直方图计算中省略。 (如果列数据类型没有< 运算符,或者most_common_vals 列表占整个总体,则此列为 null.) |
|
correlation |
real |
列值的物理行排序和逻辑排序之间的统计相关性。范围从-1 到 1.当值接近-1 或 1 时,由于减少了对磁盘的随机访问,因此估计对列的索引扫描比接近零时便宜。 (如果列数据类型没有< 运算符,则此列为 null.) |
|
most_common_elems |
anyarray |
非空元素值的列表最常出现在列的值内。 (标量类型为 null.) | |
most_common_elem_freqs |
real[] |
最常见元素值的频率列表,即包含至少一个给定值实例的行的分数。每个元素频率跟随两个或三个附加值;这些是前面每个元素的频率的最小值和最大值,也可以是空元素的频率。 (如果most_common_elems 为空,则为 null.) |
|
elem_count_histogram |
real[] |
列值内不同非 null 元素值的计数的直方图,然后是不同非 null 元素的平均数目。 (标量类型为 null.) |
数组字段中的最大条目数可以使用ALTER TABLE SET STATISTICS
命令逐列控制,也可以通过设置default_statistics_target运行时参数进行全局控制。