52.27. pg_stats #

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

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

Таблица 52.27. Столбцы pg_stats

Тип столбца

Описание

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

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

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

Имя таблицы

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

Имя столбца, описываемого этой строкой

inherited bool

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

null_frac float4

Доля записей, в которых этот столбец содержит NULL

avg_width int4

Средний размер элементов в столбце, в байтах

n_distinct float4

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

most_common_vals anyarray

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

most_common_freqs float4[]

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

histogram_bounds anyarray

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

correlation float4

Статистическая корреляция между физическим порядком строк и логическим порядком значений столбца. Допустимые значения лежат в диапазоне -1 .. +1. Когда значение около -1 или +1, сканирование индекса по столбцу будет считаться дешевле, чем когда это значение около нуля, как результат уменьшения случайного доступа к диску. (Этот столбец содержит NULL, если для типа данных столбца не определён оператор <.)

most_common_elems anyarray

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

most_common_elem_freqs float4[]

Список частот самых частых элементов, то есть доля строк, содержащих минимум один экземпляр данного значения. За частотами по элементам следуют два или три дополнительных значения: минимум и максимум предшествующих частот по элементам и дополнительно частота элементов NULL. (Принимает значение NULL, когда most_common_elems — NULL.)

elem_count_histogram float4[]

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

range_length_histogram anyarray

Гистограмма длин непустых и отличных от NULL диапазонов столбцов диапазонных типов. (NULL для недиапазонных типов.)

Эта гистограмма вычисляется при помощи функции subtype_diff вне зависимости от того, включены границы в диапазон или нет.

range_empty_frac float4

Доля записей, в которых этот столбец содержит пустой диапазон. (NULL для недиапазонных типов.)

range_bounds_histogram anyarray

Гистограмма нижних и верхних границ непустых и отличных от NULL диапазонов. (NULL для недиапазонных типов.)

Эти две гистограммы представлены единым массивом диапазонов, чьи нижние границы представляют гистограмму нижних границ, а верхние границы — гистограмму верхних границ.


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