51.55. pg_statistic_ext_data

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

Обычно для каждого проанализированного объекта статистики в этом каталоге есть одна запись со значением stxdinherit = false. Если у таблицы имеются секции или потомки в иерархии наследования, также создаётся вторая запись с stxdinherit = true. Эта строка представляет объект статистики в дереве наследования, то есть статистику по данным, которые возвратит запрос SELECT * FROM таблица*, тогда как строка с stxdinherit = false представляет результаты запроса SELECT * FROM ONLY таблица.

Как и pg_statistic, каталог pg_statistic_ext_data не должен быть доступен на чтение для всех, потому что и его содержимое может считаться конфиденциальным. (Например, интерес могут представлять наиболее распространённые сочетания значений столбцов.) Поэтому существует pg_stats_ext — доступное всем представление на базе таблицы pg_statistic_ext_data (и присоединённой к ней pg_statistic_ext), в котором выдаётся информация только по тем таблицам и столбцам, которые может читать текущий пользователь.

Таблица 51.55. Столбцы pg_statistic_ext_data

Тип столбца

Описание

stxoid oid (ссылается на pg_statistic_ext.oid)

Объект расширенной статистики, содержащий определение этих данных

stxdinherit bool

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

stxdndistinct pg_ndistinct

Количество различных значений, сериализованное в типе pg_ndistinct

stxddependencies pg_dependencies

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

stxdmcv pg_mcv_list

Статистика по самым частым значениям (Most-Common Values, MCV), сериализованная в типе pg_mcv_list

stxdexpr pg_statistic[]

Статистика по каждому выражению, сериализованная в виде массива типа pg_statistic