Se det här närbesläktade svaret för fråga "Utförandetid för postgres-fråga" .
pg_stat_activity
är en vy i pg_catalog
schema.
Du kan fråga den med SELECT
från det som vilket annat bord som helst, t.ex. SELECT * FROM pg_stat_activity
. Manualsidan du länkade till förklarar dess kolumner.
Ibland kommer du på att du vill gå med på andra bord som pg_class
(tabeller), pg_namespace
(scheman) etc.
Begränsningar
pg_stat_activity
gör inte avslöja information om användning av backend-minne. Du måste använda funktioner på operativsystemnivå för det. Men det gör berätta process-ID, aktiv användare, aktuell fråga, aktivitetsstatus, tidpunkt då frågan startade, etc. Det är bra för att identifiera långvarig idle in transaction
sessioner, mycket långa frågor, etc.
Uppriktigt sagt är PostgreSQL:s inbyggda övervakning ganska rudimentär. Det är ett av de områden som inte är så spännande att arbeta med, och kommersiella kunder är inte ofta villiga att finansiera det. De flesta kopplar ihop verktyg som check_postgres
med Icinga och Munin, eller använd Zabbix eller andra externa övervakningsmedel.
I ditt fall låter det som att du verkligen vill ha pg_stat_statements
och/eller PgBadger
logganalys med lämpliga loggningsinställningar och eventuellt auto_explain
modul.