PostgreSQL 9.3.1 文档 | ||||
---|---|---|---|---|
上一页 | 上一级 | 章 47. 系统表 | 下一页 |
pg_stats提供对存储在 pg_statistic表里面的信息的访问。 这个视图允许只访问那些在pg_statistic里面对应用户有权限读取的表的数据行, 因此可以安全地允许公众访问这个视图。
pg_stats也设计成把信息以一种更易读的方式出现的形式, 它比下层的系统表更容易阅读,代价就是如果在pg_statistic 里定义了新的数据槽位,那么必须扩展它的视图定义。
表 47-69. pg_stats 字段
名字 | 类型 | 引用 | 描述 |
---|---|---|---|
schemaname | name | pg_namespace.nspname | 包含此表的模式名字 |
tablename | name | pg_class.relname | 表的名字 |
attname | name | pg_attribute.attname | 这一行描述的字段的名字 |
inherited | bool | 如果为真,那么这行包含继承的子字段,不只是指定表的值。 | |
null_frac | real | 记录中字段为空的百分比 | |
avg_width | integer | 字段记录以字节记的平均宽度 | |
n_distinct | real | 如果大于零,就是在字段中独立数值的估计数目。如果小于零, 就是独立数值的数目被行数除的负数。用负数形式是因为ANALYZE 认为独立数值的数目是随着表增长而增长; 正数的形式用于在字段看上去好像有固定的可能值数目的情况下。比如, -1 表示一个唯一字段,独立数值的个数和行数相同。 | |
most_common_vals | anyarray | 一个字段里最常用数值的列表。如果看上去没有啥数值比其它更常见,则为 null | |
most_common_freqs | real[] | 一个最常用数值的频率的列表,也就是说,每个出现的次数除以行数。 如果most_common_vals是 null ,则为 null。 | |
histogram_bounds | anyarray | 一个数值的列表,它把字段的数值分成几组大致相同热门的组。 如果在most_common_vals里有数值,则在这个饼图的计算中省略。 如果字段数据类型没有<操作符或者most_common_vals 列表代表了整个分布性,则这个字段为 null。 | |
correlation | real | 统计与字段值的物理行序和逻辑行序有关。它的范围从 -1 到 +1 。 在数值接近 -1 或者 +1 的时候,在字段上的索引扫描将被认为比它接近零的时候开销更少, 因为减少了对磁盘的随机访问。如果字段数据类型没有<操作符,那么这个字段为null。 | |
most_common_elems | anyarray | 经常在字段值中出现的非空元素值的列表。(标量类型为空。) | |
most_common_elem_freqs | real[] | 最常见元素值的频率列表,也就是,至少包含一个给定值的实例的行的分数。 每个元素频率跟着两到三个附加的值;它们是在每个元素频率之前的最小和最大值, 还有可选择的null元素的频率。(当most_common_elems 为null时,为null) | |
elem_count_histogram | real[] | 该字段中值的不同非空元素值的统计直方图,跟着不同非空元素的平均值。(标量类型为空。) |
在数组里的元素的最大数目可以用ALTER TABLE SET STATISTICS命令一个一个字段地控制, 或者通过设置运行时参数default_statistics_target全局地设置。