53.31. pg_stats_ext_exprs #
Представление pg_stats_ext_exprs открывает доступ к информации обо всех выражениях, включённых в объекты расширенной статистики, объединяя данные из каталогов pg_statistic_ext и pg_statistic_ext_data. Это представление даёт доступ только к тем строкам pg_statistic_ext и pg_statistic_ext_data, что соответствуют таблицам, владельцем которых является пользователь: таким образом, это представление можно без опасений разрешить читать всем.
Кроме того, представление pg_stats_ext_exprs специально разработано для подачи информации в более понятном виде, чем нижележащие каталоги — ценой того, что его схему приходится расширять всякий раз, когда изменяется структура содержимого pg_statistic_ext.
Таблица 53.31. Столбцы pg_stats_ext_exprs
Тип столбца Описание |
|---|
Имя схемы, содержащей таблицу |
Имя таблицы, для которой определён объект статистики |
Имя схемы, содержащей объект расширенной статистики |
Имя объекта расширенной статистики |
Владелец объекта расширенной статистики |
Выражение, включённое в объект расширенной статистики |
Если true, в статистике учитываются значения в дочерних таблицах, а не только в указанном отношении |
Доля записей, в которых это выражение содержит NULL |
Средний размер элементов в выражении, в байтах |
Число больше нуля представляет примерное количество различных значений в выражении. Если это число меньше нуля, его модуль представляет количество различных значений, делённое на количество строк. (Отрицательная форма применяется, когда |
Список самых частых значений в выражении. (NULL, если не находятся значения, встречающиеся чаще других.) |
Список частот самых частых значений, то есть число их вхождений, делённое на общее количество строк. (NULL, когда |
Список значений, разделяющих значения выражения на примерно одинаковые популяции. Значения |
Статистическая корреляция между физическим порядком строк и логическим порядком значений выражения. Допустимые значения лежат в диапазоне -1 .. +1. Когда значение около -1 или +1, сканирование индекса по выражению будет считаться дешевле, чем когда это значение около нуля, как результат уменьшения случайного доступа к диску. (Это выражение содержит NULL, если для типа данных выражения не определён оператор |
Список элементов, отличных от NULL, наиболее часто присутствующих в значениях выражения. (NULL для скалярных типов.) |
Список частот самых частых элементов, то есть доля строк, содержащих минимум один экземпляр данного значения. За частотами по элементам следуют два или три дополнительных значения: минимум и максимум предшествующих частот по элементам и дополнительно частота элементов NULL. (Принимает значение NULL, когда |
Гистограмма количеств различных и отличных от NULL элементов в значениях этого выражения, за которой следует среднее количество элементов, отличных от NULL. (Принимает значение NULL для скалярных типов.) |
Максимальным числом записей в полях-массивах можно управлять на уровне столбцов, используя команду ALTER TABLE SET STATISTICS, или глобально, задав параметр времени выполнения default_statistics_target.
53.31. pg_stats_ext_exprs #
The view pg_stats_ext_exprs provides access to information about all expressions included in extended statistics objects, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.
pg_stats_ext_exprs is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever the structure of statistics in pg_statistic_ext changes.
Table 53.31. pg_stats_ext_exprs Columns
Column Type Description |
|---|
Name of schema containing table |
Name of table the statistics object is defined on |
Name of schema containing extended statistics object |
Name of extended statistics object |
Owner of the extended statistics object |
Expression included in the extended statistics object |
If true, the stats include values from child tables, not just the values in the specified relation |
Fraction of expression entries that are null |
Average width in bytes of expression's entries |
If greater than zero, the estimated number of distinct values in the expression. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when |
A list of the most common values in the expression. (Null if no values seem to be more common than any others.) |
A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when |
A list of values that divide the expression's values into groups of approximately equal population. The values in |
Statistical correlation between physical row ordering and logical ordering of the expression values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the expression will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This expression is null if the expression's data type does not have a |
A list of non-null element values most often appearing within values of the expression. (Null for scalar types.) |
A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when |
A histogram of the counts of distinct non-null element values within the values of the expression, followed by the average number of distinct non-null elements. (Null for scalar types.) |
The maximum number of entries in the array fields can be controlled on a column-by-column basis using the ALTER TABLE SET STATISTICS command, or globally by setting the default_statistics_target run-time parameter.