Параметры категории статистики времени выполнения

Документ описывает параметры системной конфигурации, относящиеся к категории статистики времени выполнения.

Примечание!
Для обеспечения стабильности и безопасности системы ручное изменение этих параметров должно выполняться с осторожностью.


Статистика ANALYZE по содержимому базы данных

default_statistics_target


Задаёт целевое значение статистики (количество наиболее часто встречающихся значений для хранения) для столбцов таблиц, для которых не задано специфичное для столбца значение через ALTER TABLE ... SET STATISTICS.

  • Более высокие значения могут улучшить качество оценок, производимых оптимизатором запросов Postgres (планировщиком).
Тип данных Значение по умолчанию Диапазон Классификация настройки
int 100 1 ~ 10000 master; session; reload


Сборщик статистики запросов и индексов

Эти параметры управляют функциями сбора статистики на уровне сервера. Когда сбор статистики включён, собранные данные можно получить через семейства системных представлений pg_stat и pg_statio.

track_activities


Включает сбор информации о текущей команде, выполняемой каждой сессией, а также о времени начала её выполнения.

  • Примечание: Даже при включении эта информация доступна не всем пользователям. Только суперпользователи и пользователь, связанный с сессией, могут просматривать её. Таким образом, она не представляет угрозы безопасности.
Тип данных Значение по умолчанию Классификация настройки
boolean on master; session; reload; superuser

track_activity_query_size


Задаёт максимальную длину текста запроса, сохраняемого в столбце current_query системного каталога pg_stat_activity.

  • Этот параметр может быть задан только при запуске сервера.
Тип данных Значение по умолчанию Диапазон Классификация настройки
int 1024 100 ~ 102400 segment; system; restart


track_counts


Управляет сбором статистики по активности базы данных.

Тип данных Значение по умолчанию Классификация настройки
boolean true master; session; reload; superuser

track_functions


Включает сбор статистики по использованию функций, включая количество вызовов и затраченное время.

  • Укажите pl, чтобы отслеживать только функции процедурных языков; укажите all, чтобы также отслеживать функции SQL и C.
  • Примечание: SQL-функции, достаточно простые для "встраивания" в вызывающий запрос, не отслеживаются независимо от этого параметра.
  • Значение по умолчанию — none, что отключает сбор статистики по функциям.
Тип данных Значение по умолчанию Диапазон Классификация настройки
enum none none / pl / all master; session; reload

track_io_timing


Включает измерение времени системных вызовов ввода-вывода.

  • Этот параметр по умолчанию установлен в off, поскольку его включение приводит к многократным запросам операционной системы о текущем времени, что может создать значительную нагрузку на некоторых платформах.
  • Вы можете использовать инструмент pg_test_timing для измерения накладных расходов на тайминг в вашей системе. Информация о тайминге ввода-вывода отображается в pg_stat_database, в выводе EXPLAIN при использовании опции BUFFERS, а также в pg_stat_statements.
Тип данных Значение по умолчанию Классификация настройки
boolean off master; session; reload; superuser

stats_queue_level


Собирает статистику очередей ресурсов, связанную с активностью базы данных.

  • Примечание: Параметр конфигурации сервера stats_queue_level действует только при включении управления ресурсами через очереди ресурсов.
Тип данных Значение по умолчанию Классификация настройки
boolean off master; session; reload

stats_temp_directory


Задаёт каталог для хранения временных данных статистики.

  • Этот параметр может быть задан как путь относительно каталога данных или как абсолютный путь.
  • Размещение этого каталога на файловой системе, основанной на ОЗУ, может снизить физический ввод-вывод и улучшить производительность.
Тип данных Значение по умолчанию Классификация настройки
string pg_stat_tmp segments; system; reload; superuser


Мониторинг статистики

log_executor_stats


Записывает статистику производительности исполнителя запросов в журнал сервера для каждого запроса.

  • Это примитивный инструмент профилирования. Не может быть включён одновременно с log_statement_stats.
Тип данных Значение по умолчанию Классификация настройки
boolean off segment; system; restart

log_parser_stats


Записывает статистику производительности парсера запросов в журнал сервера для каждого запроса.

  • Это примитивный инструмент профилирования. Не может быть включён одновременно с log_statement_stats.
Тип данных Значение по умолчанию Классификация настройки
boolean off master; session; reload; superuser

log_planner_stats


Записывает статистику производительности оптимизатора запросов Postgres (планировщика) в журнал сервера для каждого запроса.

  • Это примитивный инструмент профилирования. Не может быть включён одновременно с log_statement_stats.
Тип данных Значение по умолчанию Классификация настройки
boolean off master; session; reload; superuser

log_statement_stats


Записывает общую статистику производительности от парсера, планировщика и исполнителя запросов в журнал сервера для каждого запроса.

  • Этот параметр не может быть включён одновременно с другими параметрами статистики по модулям.
Тип данных Значение по умолчанию Классификация настройки
boolean off master; session; reload; superuser


Параметры автоматического сбора статистики

gp_autostats_mode


Задаёт режим запуска автоматического сбора статистики с помощью команды ANALYZE.

  • Опция on_no_stats запускает сбор статистики для любой таблицы без существующей статистики после операций INSERT, UPDATE или DELETE.
  • Опция on_change запускает сбор статистики только тогда, когда количество затронутых строк превышает порог, заданный параметром gp_autostats_on_change_threshold. Операции, которые могут запускать автоматический сбор статистики: INSERT, UPDATE, DELETE, CREATE TABLE AS и COPY.
  • Примечание: Для партиционированных таблиц автоматический сбор статистики не запускается при вставке данных в верхнеуровневую родительскую таблицу. Он запускается только при вставке данных непосредственно в листовые дочерние таблицы (где хранятся данные). Статистика собирается только на листовых таблицах.
Тип данных Значение по умолчанию Диапазон Классификация настройки
enum none none / on_no_stats / on_change master; session; reload

gp_autostats_mode_in_functions


Задаёт режим запуска автоматического сбора статистики через операторы ANALYZE внутри функций процедурных языков.

  • Опция none отключает сбор статистики; опция on_no_stats запускает сбор статистики для операций INSERT, UPDATE или DELETE, выполненных внутри функции, для любой таблицы без существующей статистики.
  • Опция on_change запускает сбор статистики только тогда, когда количество затронутых строк превышает порог, заданный параметром gp_autostats_on_change_threshold. Операции, которые могут запускать автоматический сбор статистики: INSERT, UPDATE, DELETE, CREATE TABLE AS и COPY.
Тип данных Значение по умолчанию Диапазон Классификация настройки
enum none none / on_change / on_no_stats master; session; reload

gp_autostats_on_change_threshold


Задаёт порог для автоматического сбора статистики при установке gp_autostats_mode или gp_autostats_mode_in_functions в значение on_change.

  • Когда операция, запускающая сбор, затрагивает более этого порогового количества строк, автоматически добавляется команда ANALYZE, и собирается статистика по таблице.
Тип данных Значение по умолчанию Диапазон Классификация настройки
int 2147483647 0 ~ INT_MAX master; session; reload

log_autostats


Записывает информацию о автоматических операциях ANALYZE, связанных с gp_autostats_mode и gp_autostats_mode_in_functions.

Тип данных Значение по умолчанию Классификация настройки
boolean off master; session; reload; superuser