51.27. pg_stats#

51.27. pg_stats

51.27. pg_stats #

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

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

Таблица 51.27. pg_stats Колонки

Тип столбца

Описание

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

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

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

Имя таблицы

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

Название столбца, описываемого этой строкой

inherited bool

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

null_frac float4

Доля записей столбца, которые являются пустыми

avg_width int4

Средняя ширина в байтах записей столбца

n_distinct float4

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

most_common_vals anyarray

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

most_common_freqs float4[]

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

histogram_bounds anyarray

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

correlation float4

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

most_common_elems anyarray

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

most_common_elem_freqs float4[]

Список частот наиболее распространенных значений элементов, то есть доля строк, содержащих хотя бы один экземпляр данного значения. Два или три дополнительных значения следуют за частотами для каждого элемента; это минимальное и максимальное значение предыдущих частот для каждого элемента и, при необходимости, частота нулевых элементов. (Null, когда most_common_elems есть).

elem_count_histogram float4[]

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


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