Данные параметры управляют общесерверной системой сбора кумулятивной статистики.
При их активации доступ к собранным данным может быть получен через
pg_stat и pg_statio
семейство системных представлений. Обратитесь к Глава 3.12 для получения дополнительной
информации.
track_activities (boolean)
#
Включает сбор информации о текущей
выполняемой команде каждого сеанса, а также ее идентификатора и
времени начала выполнения этой команды. Данный параметр включен по
умолчанию. Обратите внимание, что даже в случае включения эта информация
видна только суперпользователям, ролям с правами
pg_read_all_stats роли и пользователю, являющемуся владельцем
отслеживаемых сеансов (включая сеансы, принадлежащие роли, на которую у них
имеются права), поэтому она не должна представлять угрозы безопасности.
Только суперпользователи и пользователи, обладающие соответствующими SET
привилегиями, могут изменять данный параметр.
track_activity_query_size (integer)
#
Определяет объем памяти, резервируемой для хранения текста
текущей выполняемой команды для каждого активного сеанса, для
pg_stat_activity.запроса поля.
Если данное значение указано без единиц измерения, оно принимается в байтах.
Значение по умолчанию составляет 1024 байта.
Данный параметр может быть задан только при запуске сервера.
track_counts (boolean)
#
Включает сбор статистики об активности базы данных.
Данный параметр включен по умолчанию, так как демону
autovacuum необходима собранная информация.
Только суперпользователи и пользователи, обладающие соответствующими SET
привилегиями, могут изменять данный параметр.
track_io_timing (boolean)
#
Включает хронометраж вызовов ввода-вывода базы данных. Данный параметр отключен по
умолчанию, так как он будет многократно запрашивать у операционной системы
текущее время, что может привести к значительным накладным расходам на некоторых
платформах. Вы можете использовать pg_test_timing соответствующий инструмент, чтобы
измерить накладные расходы хронометража в вашей системе.
Сведения о времени ввода-вывода
отображаются в
pg_stat_database,
pg_stat_io, в выводе команды
EXPLAIN при использовании BUFFERS параметра
, в выводе команды VACUUM когда
конфигурационном VERBOSE используется параметр, процессом автоочистки
для процессов автоочистки и автоанализа, когда log_autovacuum_min_duration установлен, а также процессом
pg_stat_statements.
Только суперпользователи и пользователи, обладающие соответствующими SET
привилегиями, могут изменять данный параметр.
track_wal_io_timing (boolean)
#
Включает хронометраж вызовов ввода-вывода WAL. По умолчанию данный параметр выключен,
так как он будет многократно запрашивать текущее время у операционной системы,
что на некоторых платформах может привести к значительным накладным расходам.
Можно использовать параметр pg_test_timing соответствующий инструмент, чтобы
измерить накладные расходы хронометража в вашей системе.
Сведения о времени ввода-вывода
отображаются в
pg_stat_wal.
Только суперпользователи и пользователи, обладающие соответствующими SET
привилегиями, могут изменять данный параметр.
track_functions (enum)
#
Включает сбор статистики по количеству вызовов функций и затраченному времени. Укажите значение
pl для отслеживания функций только на процедурных языках,
all чтобы также отслеживать функции на языках SQL и C.
Значение по умолчанию — none, что отключает сбор
статистики функций.
Только суперпользователи и пользователи, обладающие соответствующими SET
привилегиями, могут изменять данный параметр.
Функции на языке SQL, достаточно простые для «встраивания» в вызывающий запрос, не будут отслеживаться независимо от значения данного параметра настройка.
stats_fetch_consistency (enum)
#
Определяет поведение при многократном обращении к кумулятивной статистике
в рамках одной транзакции. Если установлено значение
none, при каждом доступе значения счетчиков повторно извлекаются из общей
памяти. Если установлено значение cache, то при первом обращении к
статистике объекта эти данные кэшируются до завершения
транзакции, если только не вызывается функция pg_stat_clear_snapshot() заменяется
. Если установлено значение snapshot, то при первом обращении к
статистике кэшируются все статистические данные, доступные в текущей базе данных, до
завершения транзакции, если только не вызывается функция
pg_stat_clear_snapshot() . Изменение данного
параметра в транзакции приводит к сбросу снимка статистики.
Значение по умолчанию — cache.
none наиболее подходит для систем мониторинга. Если
доступ к значениям осуществляется только один раз, что является наиболее
эффективным способом. cache обеспечивает получение одинаковых значений при повторных
обращениях, что важно для запросов, содержащих,
например, самообъединения. snapshot может быть полезно при
интерактивном анализе статистики, но влечет за собой более высокие издержки,
особенно при наличии большого количества объектов базы данных.
compute_query_id (enum)
#
Включает встроенное вычисление идентификатора запроса.
Идентификаторы запросов могут отображаться в pg_stat_activity
представлении с помощью команды EXPLAIN, или записываться в журнал, если это
настроено посредством параметра log_line_prefix параметра.
Команда pg_stat_statements расширение также требует вычисления
идентификатора запроса. Обратите внимание, что внешний модуль может
может использоваться в качестве альтернативы, если метод вычисления встроенного идентификатора запроса
неприемлем. В данном случае встроенное вычисление
всегда должно быть отключено.
Допустимые значения: off (всегда отключено),
on (всегда включено), auto,
что позволяет таким модулям, как pg_stat_statements
автоматически включать его, и regress который
имеет тот же эффект, что и auto, за исключением того, что
идентификатор запроса не отображается в EXPLAIN выводе
для упрощения автоматизированного регрессионного тестирования.
Значение по умолчанию — auto.
Для обеспечения вычисления и отображения только одного идентификатора запроса расширения, вычисляющие идентификаторы запросов, должны выдавать ошибку, если идентификатор запроса уже был вычислен.
log_statement_stats (boolean)
log_parser_stats (boolean)
log_planner_stats (boolean)
log_executor_stats (boolean)
#
Для каждого запроса осуществляется вывод статистики производительности соответствующего
модуля в журнал сервера. Данный механизм является упрощённым инструментом профилирования,
аналогичным средству Unix getrusage() операционной
системы. log_statement_stats выводит суммарную
статистику по операторам, в то время как остальные параметры предоставляют статистику по модулям.
log_statement_stats не может быть задействован совместно с
любыми параметрами отдельных модулей. Все данные параметры по умолчанию
отключены.
Только суперпользователи и пользователи, обладающие соответствующими SET
привилегия позволяет изменять данные параметры.