54.54. pg_statistic_ext #

Каталог pg_statistic_ext содержит определения расширенной статистики планировщика. Каждая строка в этом каталоге соответствует объекту статистики, созданному командой CREATE STATISTICS.

Таблица 54.54. Столбцы pg_statistic_ext

Тип столбца

Описание

oid oid

Идентификатор строки

stxrelid oid (ссылается на pg_class.oid)

Таблица, содержащая столбцы, описываемые этим объектом

stxname name

Имя объекта статистики

stxnamespace oid (ссылается на pg_namespace.oid)

OID пространства имён, содержащего этот объект статистики

stxowner oid (ссылается на pg_authid.oid)

Владелец объекта статистики

stxkeys int2vector (ссылается на pg_attribute.attnum)

Массив номеров атрибутов, показывающий, какие столбцы таблицы покрываются данным объектом статистики; например, значение 1 3 показывает, что статистика покрывает первый и третий столбцы таблицы

stxstattarget int2

Значение stxstattarget управляет детализацией статистики, собираемой для этого объекта командой ANALYZE. Нулевое значение указывает, что статистика не должна собираться. При значении NULL используется максимум из ориентиров статистики, заданных для целевых столбцов, а если таковые не заданы, используется системный ориентир статистики по умолчанию. Положительное значение stxstattarget определяет ориентировочное количество собираемых «самых частых значений».

stxkind char[]

Массив, содержащий коды для включённых видов статистики; допустимые значения: d для статистики по количеству различных значений (n-distinct), e для статистики по выражениям (expression statistics), f для статистики по функциональным зависимостям (functional dependency) и m для списков самых частых значений (MCV)

stxexprs pg_node_tree

Деревья выражений (в представлении nodeToString()) для атрибутов объекта статистики, не являющихся простыми ссылками на столбцы. Этот список содержит один элемент для каждого выражения. Значением может быть NULL, если все атрибуты объекта статистики представляют собой простые ссылки.


Поле pg_statistic_ext заполняется при выполнении команды CREATE STATISTICS, но собственно значения статистики на этом этапе не вычисляются. Статистические данные вычисляются при последующих выполнениях команды ANALYZE и сохраняются в соответствующей записи в каталоге pg_statistic_ext_data.

54.54. pg_statistic_ext #

The catalog pg_statistic_ext holds definitions of extended planner statistics. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.

Table 54.54. pg_statistic_ext Columns

Column Type

Description

oid oid

Row identifier

stxrelid oid (references pg_class.oid)

Table containing the columns described by this object

stxname name

Name of the statistics object

stxnamespace oid (references pg_namespace.oid)

The OID of the namespace that contains this statistics object

stxowner oid (references pg_authid.oid)

Owner of the statistics object

stxkeys int2vector (references pg_attribute.attnum)

An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered

stxstattarget int2

stxstattarget controls the level of detail of statistics accumulated for this statistics object by ANALYZE. A zero value indicates that no statistics should be collected. A null value says to use the maximum of the statistics targets of the referenced columns, if set, or the system default statistics target. Positive values of stxstattarget determine the target number of most common values to collect.

stxkind char[]

An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, m for most common values (MCV) list statistics, and e for expression statistics

stxexprs pg_node_tree

Expression trees (in nodeToString() representation) for statistics object attributes that are not simple column references. This is a list with one element per expression. Null if all statistics object attributes are simple references.


The pg_statistic_ext entry is filled in completely during CREATE STATISTICS, but the actual statistical values are not computed then. Subsequent ANALYZE commands compute the desired values and populate an entry in the pg_statistic_ext_data catalog.

FAQ