Приложение для мониторинга запросов PostgreSQL в режиме реального времени? - PullRequest
22 голосов
/ 22 декабря 2011

Я бы хотел отслеживать запросы, отправляемые в мою базу данных из приложения.Для этого я нашел pg_stat_activity, но чаще всего возвращаемые строки читаются как "в транзакции".Я либо делаю что-то не так, я недостаточно быстр, чтобы увидеть, как поступают запросы, я в замешательстве или все вышеперечисленное!

Может ли кто-нибудь порекомендовать наиболее защищенный от идиотов способ мониторинга запросов, выполняемых в PostgreSQL?Я бы предпочел какое-то простое в использовании решение на основе пользовательского интерфейса (например, «Профилировщик» SQL Server), но я не слишком разборчив.

Ответы [ 3 ]

26 голосов
/ 22 декабря 2011

PgAdmin предлагает довольно простой в использовании инструмент под названием серверный монитор

(Инструменты -> ServerStatus)

18 голосов
/ 22 декабря 2011

В PostgreSQL 8.4 или более поздней версии вы можете использовать модуль contrib pg_stat_statements для сбора статистики выполнения запросов сервера базы данных.

Запустить сценарий SQL этого участникамодуль pg_stat_statements.sql (в Ubuntu его можно найти в /usr/share/postgresql/<version>/contrib) в вашей базе данных и добавьте этот пример конфигурации в postgresql.conf (требуется перезапуск):

custom_variable_classes = 'pg_stat_statements'
pg_stat_statements.max = 1000
pg_stat_statements.track = top # top,all,none
pg_stat_statements.save = off

Чтобы увидеть, какие запросывыполняется в режиме реального времени, вы можете просто настроить журнал сервера, чтобы показать все запросы или запросы с минимальным временем выполнения.Для этого установите параметры конфигурации ведения журнала log_statement и log_min_duration_statement в вашем postgresql.conf соответственно.

0 голосов
/ 22 декабря 2011

К сожалению, я не пробовал сам, но я думаю, что pgFouine может показать вам некоторые статистические данные.

Хотя, похоже, он не показывает ваши запросы в режиме реального времени, а скорее генерирует отчет о запросах впоследствии, возможно, он все же удовлетворяет ваши требования?

Вы можете взглянуть на http://pgfouine.projects.postgresql.org/

...