Вижте този тясно свързан отговор за въпрос „Време за изпълнение на заявка на Postgres“ .
pg_stat_activity
е изглед в pg_catalog
схема.
Можете да го заявите чрез SELECT
извеждане от него като всяка друга таблица, напр. SELECT * FROM pg_stat_activity
. Страницата на ръководството, към която сте направили връзка, обяснява нейните колони.
Понякога ще откриете, че искате да се присъедините към други таблици като pg_class
(таблици), pg_namespace
(схеми) и др.
Ограничения
pg_stat_activity
не разкриват информация за използването на паметта в задния край. За това трябва да използвате средства на ниво операционна система. Въпреки това прави да ви каже идентификатора на процеса, активния потребител, текущо изпълняваната заявка, състоянието на активността, времето на последното стартиране на заявката и т.н. Добре е за идентифициране на продължителен idle in transaction
сесии, много продължителни заявки и др.
Честно казано, вграденият мониторинг на PostgreSQL е доста елементарен. Това е една от областите, върху които не е толкова вълнуващо да се работи, а търговските клиенти често не желаят да го финансират. Повечето хора съчетават инструменти като check_postgres
с Icinga и Munin, или използвайте Zabbix или други външни агенти за наблюдение.
Във вашия случай звучи така, сякаш наистина искате pg_stat_statements
, и/или PgBadger
анализ на журнала с подходящи настройки за регистриране и евентуално auto_explain
модул.