Updated on 2025-06-12 GMT+08:00

PG_STATS

PG_STATS displays the single-column statistics stored in the pg_statistic table.

Table 1 PG_STATS columns

Column

Type

Reference

Description

schemaname

name

PG_NAMESPACE.nspname

Name of the schema that contains the table.

tablename

name

PG_CLASS.relname

Table name.

attname

name

PG_ATTRIBUTE.attname

Column name.

inherited

boolean

-

If the value is true, the inherited subcolumns are included. If the value is false, only the columns in a specified table are included.

null_frac

real

-

Percentage of column entries that are null.

avg_width

integer

-

Average width in bytes of column's entries.

n_distinct

real

-

  • If the value is greater than 0, it shows the estimated number of unique values in the column.
  • If the value is less than 0, it means the number of independent values is negative relative to 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 column in which the number of distinct values is the same as the number of rows.

n_dndistinct

real

-

Number of unique non-null data values in the dn1 column.

  • Exact number of distinct values if the value is greater than 0
  • Negative of the number of distinct values divided by the number of rows if the value is less than 0 (For example, if the value of a column appears twice in average, set n_dndistinct=-0.5.)
  • The number of distinct values is unknown if the value is 0.

most_common_vals

anyarray

-

List of the most common values in a column. If this combination does not have the most common values, it will be NULL.

most_common_freqs

real[]

-

List of the frequencies of the most common values. This shows how often each value appears, divided by the total number of rows. (NULL if most_common_vals is NULL)

histogram_bounds

anyarray

-

List of values that divide the column's values into groups of equal proportion. The values in most_common_vals, if present, are omitted from this histogram calculation. This field is null if the field data type does not have a < operator or if the most_common_vals list accounts for the entire population.

correlation

real

-

Statistical correlation between physical row ordering and logical ordering of the column values. It ranges from -1 to +1. When the value is near to -1 or +1, an index scan on the column is estimated to be cheaper than when it is near to zero, due to reduction of random access to the disk. This column is null if the column data type does not have a < operator.

most_common_elems

anyarray

-

A list of the most commonly used non-null element values.

most_common_elem_freqs

real[]

-

A list of the frequencies of the most commonly used element values.

elem_count_histogram

real[]

-

A histogram of the counts of distinct non-null element values.