55.29. pg_stats_ext

Представление pg_stats_ext открывает доступ к информации о каждом объекте расширенной статистики, объединяя данные из каталогов pg_statistic_ext и pg_statistic_ext_data. Это представление даёт доступ только к тем строкам pg_statistic_ext и pg_statistic_ext_data, что соответствуют таблицам, владельцем которых является пользователь: таким образом, это представление можно без опасений разрешить читать всем.

Кроме того, представление pg_stats_ext специально разработано для подачи информации в более понятном виде, чем нижележащие каталоги — ценой того, что его схему приходится расширять всякий раз, когда в pg_statistic_ext добавляются новые типы расширенной статистики.

Таблица 55.29. Столбцы pg_stats_ext

Тип столбца

Описание

schemaname name (ссылается на pg_namespace.nspname)

Имя схемы, содержащей таблицу

tablename name (ссылается на pg_class.relname)

Имя таблицы

statistics_schemaname name (ссылается на pg_namespace.nspname)

Имя схемы, содержащей объект расширенной статистики

statistics_name name (ссылается на pg_statistic_ext.stxname)

Имя объекта расширенной статистики

statistics_owner name (ссылается на pg_authid.rolname)

Владелец объекта расширенной статистики

attnames name[] (ссылается на pg_attribute.attname)

Имена столбцов, включённых в объект расширенной статистики

exprs text[]

Выражения, включённые в объект расширенной статистики

kinds char[]

Типы объектов расширенной статистики, включённые для данной записи

inherited bool (ссылается на pg_statistic_ext_data.stxdinherit)

Если true, в статистике учитываются значения в дочерних таблицах, а не только в указанном отношении

n_distinct pg_ndistinct

Количество различных комбинаций значений столбцов. Число больше нуля представляет примерное количество различных скомбинированных значений. Если это число меньше нуля, его модуль представляет количество различных значений, делённое на количество строк. (Отрицательная форма применяется, когда ANALYZE полагает, что число различных значений, скорее всего, будет расти по мере роста таблицы; положительная, когда в столбце, вероятно, будет фиксированное количество возможных значений.) Например, -1 указывает на такую комбинацию столбцов, в которой количество различных значений совпадает с количеством строк.

dependencies pg_dependencies

Статистика по функциональным зависимостям

most_common_vals text[]

Список самых частых комбинаций значений в столбцах. (NULL, если не находятся комбинации, встречающиеся чаще других.)

most_common_val_nulls bool[]

Список флагов NULL для самых частых комбинаций значений. (NULL, когда most_common_vals — NULL.)

most_common_freqs float8[]

Список частот самых частых комбинаций, то есть число их вхождений, делённое на общее количество строк. (NULL, когда most_common_vals — NULL.)

most_common_base_freqs float8[]

Список базовых частот самых частых комбинаций, то есть произведение частот отдельных значений. (NULL, когда most_common_vals — NULL.)


Максимальным числом записей в полях-массивах можно управлять на уровне столбцов, используя команду ALTER TABLE SET STATISTICS, или глобально, задав параметр времени выполнения default_statistics_target.