48.69. pg_stats

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

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

Таблица 48-70. Колонки pg_stats

ИмяТипСсылкиОписание
schemanamenamepg_namespace.nspnameИмя схемы, содержащей таблицу
tablenamenamepg_class.relnameИмя таблицы
attnamenamepg_attribute.attnameИмя колонки, описываемой этой строкой
inheritedbool Если true, в данных этой строки учитываются значения в дочерних колонках, а не только в указанной таблице
null_fracreal Доля записей, в которых эта колонка содержит NULL
avg_widthinteger Средний размер элементов в колонке, в байтах
n_distinctreal Число, большее нуля, представляет примерное количество различных значений в колонке. Если это число меньше нуля, его модуль представляет количество различных значений, делённое на количество строк. (Отрицательная форма применяется, когда ANALYZE полагает, что число различных значений, скорее всего, будет расти по мере роста таблицы; положительная, когда в колонке, вероятно, будет фиксированное количество возможных значений.) Например, -1 указывает на колонку с уникальным содержимым, в которой количество различных значений совпадает с количеством строк.
most_common_valsanyarray Список самых частых значений в колонке. (NULL, если не находятся значения, появляющиеся чаще других.)
most_common_freqsreal[] Список частот самых частых значений, то есть число их вхождений, делённое на общее количество строк. (NULL, вместе с most_common_vals.)
histogram_boundsanyarray Список значений, разделяющих значения колонки на примерно одинаковые популяции. Значения most_common_vals, если они присутствуют, не рассматриваются при вычислении этой гистограммы. (Эта колонка содержит NULL, если для типа данных колонки не определён оператор <, либо если в most_common_vals перечисляется вся популяция.)
correlationreal Статистическая корреляция между физическим порядком строк и логическим порядком значений колонки. Допустимые значения лежат в диапазоне -1 .. +1. Когда значение около -1 или +1, сканирование индекса по колонке будет считаться дешевле, чем когда это значение около нуля, как результат уменьшения случайного доступа к диску. (Эта колонка содержит NULL, если для типа данных колонки не определён оператор <.)
most_common_elemsanyarray Список элементов, отличных от NULL, наиболее часто присутствующих в значениях колонки. (NULL для скалярных типов.)
most_common_elem_freqsreal[] Список частот самых частых элементов, то есть доля строк, содержащих минимум один экземпляр данного значения. За частотами по элементам следуют два или три дополнительных значения: минимум и максимум предшествующих частот по элементам и дополнительно частота элементов NULL. (Принимает значение NULL вместе с most_common_elems.)
elem_count_histogramreal[] Гистограмма количеств различных и отличных от NULL элементов в значениях этой колонки, за которой следует среднее количество элементов, отличных от NULL. (Принимает значение NULL для скалярных типов.)

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