跳转到主要内容
← 目录图谱 / pg_stats_ext_exprs

SYSTEM VIEW · 系统视图

pg_stats_ext_exprs

The view pg_stats_ext_exprs provides access to information about all expressions included in extended statistics objects, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view. pg_stats_ext_exprs is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever the structure of statistics in pg_statistic_ext changes.

首次收录 PG 14最近收录 PG 19当前字段 17

已与 PostgreSQL 18.6 实例逐字段核对 · 原始实测记录 ↗

字段结构 PostgreSQL 18

pg_stats_ext_exprs
字段 / COLUMN类型 / TYPE说明 / DESCRIPTION
schemaname name Name of schema containing table引用:pg_namespace.nspname
tablename name Name of table the statistics object is defined on引用:pg_class.relname
statistics_schemaname name Name of schema containing extended statistics object引用:pg_namespace.nspname
statistics_name name Name of extended statistics object引用:pg_statistic_ext.stxname
statistics_owner name Owner of the extended statistics object引用:pg_authid.rolname
expr text Expression included in the extended statistics object
inherited boolean文档原写法:bool If true, the stats include values from child tables, not just the values in the specified relation引用:pg_statistic_ext_data.stxdinherit
null_frac real文档原写法:float4 Fraction of expression entries that are null
avg_width integer文档原写法:int4 Average width in bytes of expression's entries
n_distinct real文档原写法:float4 If greater than zero, the estimated number of distinct values in the expression. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the expression seems to have a fixed number of possible values.) For example, -1 indicates a unique expression in which the number of distinct values is the same as the number of rows.
most_common_vals anyarray A list of the most common values in the expression. (Null if no values seem to be more common than any others.)
most_common_freqs real[]文档原写法:float4[] A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)
histogram_bounds anyarray A list of values that divide the expression's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This expression is null if the expression data type does not have a < operator or if the most_common_vals list accounts for the entire population.)
correlation real文档原写法:float4 Statistical correlation between physical row ordering and logical ordering of the expression values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the expression will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This expression is null if the expression's data type does not have a < operator.)
most_common_elems anyarray A list of non-null element values most often appearing within values of the expression. (Null for scalar types.)
most_common_elem_freqs real[]文档原写法:float4[] A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)
elem_count_histogram real[]文档原写法:float4[] A histogram of the counts of distinct non-null element values within the values of the expression, followed by the average number of distinct non-null elements. (Null for scalar types.)

标记“隐式列”的字段不包含在 SELECT * 中;部分早期统计视图由同版本源码补全,额外来源会显示在字段说明中。

字段演化矩阵

悬停查看字段类型
存在新增 / 类型或属性变化移除
字段 / COLUMN9.09.19.29.39.49.59.610111213141516171819
schemaname
tablename
statistics_schemaname
statistics_name
statistics_owner
expr
null_frac
avg_width
n_distinct
most_common_vals
most_common_freqs
histogram_bounds
correlation
most_common_elems
most_common_elem_freqs
elem_count_histogram
inherited
tableid
statistics_id
range_length_histogram
range_empty_frac
range_bounds_histogram

9.0 是收录基线;基线中已存在的字段不标记为新增。矩阵按字段名称对齐,重命名显示为旧字段移除与新字段新增。

演化时间线

相邻大版本的变化

PostgreSQL 19 ← 18

+ tableid+ statistics_id+ range_length_histogram+ range_empty_frac+ range_bounds_histogram

PostgreSQL 15 ← 14

+ inherited

PostgreSQL 14 ← 13新增目录

+ schemaname+ tablename+ statistics_schemaname+ statistics_name+ statistics_owner+ expr+ null_frac+ avg_width+ n_distinct+ most_common_vals+ most_common_freqs+ histogram_bounds+ correlation+ most_common_elems+ most_common_elem_freqs+ elem_count_histogram

比较任意两个版本

选择两个版本,查看字段的新增、移除与类型变化。交互比较需要 JavaScript;演化时间线可直接阅读。