Podívejte se na tuto úzce související odpověď na otázku "Doba provádění dotazu Postgres" .
pg_stat_activity
je pohled v pg_catalog
schéma.
Můžete se dotázat pomocí SELECT
ing z ní jako z jakékoli jiné tabulky, např. SELECT * FROM pg_stat_activity
. Stránka manuálu, na kterou jste odkazovali, vysvětluje její sloupce.
Někdy se přistihnete, že se budete chtít připojit k jiným stolům, jako je pg_class
(tabulky), pg_namespace
(schémata) atd.
Omezení
pg_stat_activity
není odhalit informace o využití back-end paměti. K tomu musíte použít zařízení na úrovni operačního systému. Nicméně dělá sdělit vám ID procesu, aktivního uživatele, aktuálně spuštěný dotaz, stav aktivity, čas posledního zahájení dotazu atd. Je to dobré pro identifikaci dlouhotrvající idle in transaction
relace, velmi dlouho běžící dotazy atd.
Upřímně řečeno, vestavěné monitorování PostgreSQL je spíše rudimentární. Je to jedna z oblastí, na které není tak vzrušující pracovat, a komerční klienti ji často nejsou ochotni financovat. Většina lidí používá nástroje jako check_postgres
s Icinga a Munin, nebo použijte Zabbix nebo jiné externí monitorovací agenty.
Ve vašem případě to zní, jako byste opravdu chtěli pg_stat_statements
a/nebo PgBadger
analýza protokolu s vhodným nastavením protokolování a případně auto_explain
modul.