Se dette nært beslægtede svar for spørgsmålet "Udførelsestid for Postgres-forespørgsler" .
pg_stat_activity
er en visning i pg_catalog
skema.
Du kan forespørge det ved at SELECT
ing fra det som ethvert andet bord, f.eks. SELECT * FROM pg_stat_activity
. Den manualside, du linkede til, forklarer dens kolonner.
Du vil nogle gange opleve, at du ønsker at deltage på andre borde som f.eks. pg_class
(tabeller), pg_namespace
(skemaer) osv.
Begrænsninger
pg_stat_activity
gør ikke afsløre information om brug af back-end hukommelse. Du skal bruge faciliteter på operativsystemniveau til det. Men det gør fortælle dig proces-id'et, den aktive bruger, den aktuelle forespørgsel, aktivitetsstatus, tidspunktet for den sidste forespørgsel startede osv. Det er godt til at identificere langvarig idle in transaction
sessioner, meget langvarige forespørgsler osv.
Helt ærligt, PostgreSQL's indbyggede overvågning er ret rudimentær. Det er et af de områder, der ikke er så spændende at arbejde med, og kommercielle kunder er ikke ofte villige til at finansiere det. De fleste mennesker kobler værktøjer som check_postgres
med Icinga og Munin, eller brug Zabbix eller andre eksterne overvågningsmidler.
I dit tilfælde lyder det som om du virkelig ønsker pg_stat_statements
og/eller PgBadger
loganalyse med passende logningsindstillinger og muligvis auto_explain
modul.