pg_stats_ext — PostgreSQL system view

The PostgreSQL pg_stats_ext system view: full column reference (names, types, descriptions), catalog relationships and version support.

Summary

The view pg_stats_ext provides access to information about each extended statistics object in the database, 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.

(Description quoted from the official PostgreSQL documentation.)

Columns

The pg_stats_ext system view exposes the following columns (names, types and descriptions are taken verbatim from the PostgreSQL documentation):

  • schemaname name references pg_namespace.nspname
    Name of schema containing table
  • tablename name references pg_class.relname
    Name of table
  • tableid oid references pg_class.oid
    OID of table
  • statistics_schemaname name references pg_namespace.nspname
    Name of schema containing extended statistics object
  • statistics_name name references pg_statistic_ext.stxname
    Name of extended statistics object
  • statistics_id oid references pg_statistic_ext.oid
    OID of extended statistics object
  • statistics_owner name references pg_authid.rolname
    Owner of the extended statistics object
  • attnames name[] references pg_attribute.attname
    Names of the columns included in the extended statistics object
  • exprs text[]
    Expressions included in the extended statistics object
  • kinds char[]
    Types of extended statistics object enabled for this tuple/">record
  • inherited bool references pg_statistic_ext_data.stxdinherit
    If true, the stats include values from child tables, not just the values in the specified relation
  • n_distinct pg_ndistinct
    N-distinct counts for combinations of column values. If greater than zero, the estimated number of distinct values in the combination. 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 column seems to have a fixed number of possible values.) For example, -1 indicates a unique combination of columns in which the number of distinct combinations is the same as the number of rows.
  • dependencies pg_dependencies
    Functional dependency statistics
  • most_common_vals text[]
    A list of the most common combinations of values in the columns. (Null if no combinations seem to be more common than any others.)
  • most_common_val_nulls bool[]
    A list of NULL flags for the most common combinations of values. (Null when most_common_vals is.)
  • most_common_freqs float8[]
    A list of the frequencies of the most common combinations, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)
  • most_common_base_freqs float8[]
    A list of the base frequencies of the most common combinations, i.e., product of per-value frequencies. (Null when most_common_vals is.)

Related catalogs

This object references the following other system catalogs:

Version applicability

Present in PostgreSQL 17, 18, 19 (verified against each release’s documentation). This is a long-standing system object that also exists in earlier PostgreSQL releases.

Related & references

Reference: PostgreSQL documentation — pg_stats_ext.