Как профилировать базу данных PostgreSQL?

Я хочу профилировать (следить за) все действия, которые происходят в базе данных, которая находится в PostgreSQL.

Есть ли такая утилита, которая поможет мне в этом?


person Yogi Yang 007    schedule 13.12.2008    source источник


Ответы (5)


Для «наблюдения» я использую pgtop, программу, которая намеренно имитирует команду Unix 'top'.

person bortzmeyer    schedule 13.12.2008
comment
Чтобы сэкономить кому-нибудь минуту или две: я нашел это только под именем пакета ptop в Debian, хотя сама команда называется pg_top. - person Gunnlaugur Briem; 02.09.2009
comment
ссылка больше не доступна? - person Asnad Atta; 10.07.2018

На мой взгляд, «следить» и «профиль» - две совершенно разные задачи.

Для профилирования (не для просмотра в реальном времени того, что происходит прямо сейчас, а для того, чтобы увидеть, какие запросы занимают больше всего времени и т. Д.), Ознакомьтесь с pgFouine:

http://pgfouine.projects.postgresql.org/

Это позволит вам увидеть, какие запросы являются ресурсоемкими, и предпринять соответствующие действия: добавить недостающие индексы, переписать запросы, используя другие методы и т. Д.

person rebra    schedule 13.12.2008
comment
Ссылка мертва. Прочтите ответ @ l-g: pgbadger как заменитель. - person EAmez; 17.07.2019

С момента ответа ребра погас еще один инструмент профилирования pgbadger. Вы можете найти его здесь: http://dalibo.github.io/pgbadger/.

вы можете получить очень подробный отчет и графики.

pgfouine больше не поддерживается, последнее обновление было в 2010 году.

person L. G.    schedule 12.06.2014

Что ж, если вы смотрите на то, что происходит в отношении выбора, обновления, удаления и т. Д., В схеме pg_catalog есть несколько представлений, я в основном использую pg_stat_user_tables и pg_stat_user_indexes, но их гораздо больше, все в pg_stat*.

Также есть представление pg_stat_activity, которое сообщает вам, что сейчас работает на вашем сервере.

Я собрал четыре плагина munin, которые используют user_tables и user_indexes, они доступны там

person mat    schedule 13.12.2008
comment
mat, у вас еще где-то есть плагины? Ссылка на 404 не найдена - person Antony; 18.09.2011
comment
Хм, если я не ошибаюсь, munin поставляется с дюжиной плагинов для postgresql, которые делают то же самое, что и мой. Если ошибаюсь, подскажите, я постараюсь выяснить, что случилось с теми, которые я создал. - person mat; 04.10.2011
comment
Проект Munin здесь - person EAmez; 17.07.2019

Взгляните на сценарий плагина Nagios или check_postgres.pl

person Patryk Kordylewski    schedule 13.12.2008