Vedi questa risposta strettamente correlata alla domanda "Tempo di esecuzione della query Postgres" .
pg_stat_activity
è una vista nel pg_catalog
schema.
Puoi interrogarlo con SELECT
ing da esso come qualsiasi altro tavolo, ad es. SELECT * FROM pg_stat_activity
. La pagina di manuale a cui ti sei collegato spiega le sue colonne.
A volte ti ritroverai a voler unirti ad altri tavoli come pg_class
(tabelle), pg_namespace
(schemi), ecc.
Limiti
pg_stat_activity
non esporre informazioni sull'utilizzo della memoria back-end. È necessario utilizzare le strutture a livello di sistema operativo per questo. Comunque fa indica l'ID del processo, l'utente attivo, la query attualmente in esecuzione, lo stato dell'attività, l'ora dell'ultima query avviata, ecc. È utile per identificare idle in transaction
di lunga durata sessioni, query molto lunghe, ecc.
Francamente, il monitoraggio integrato di PostgreSQL è piuttosto rudimentale. È una delle aree su cui non è entusiasmante lavorare e spesso i clienti commerciali non sono disposti a finanziarla. La maggior parte delle persone abbina strumenti come check_postgres
con Icinga e Munin, o utilizzare Zabbix o altri agenti di monitoraggio esterni.
Nel tuo caso sembra che tu voglia davvero pg_stat_statements
e/o PgBadger
analisi del log con impostazioni di registrazione adeguate ed eventualmente il auto_explain
modulo.