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.