bloggers bloggers

Marco Napolitano
Messaggi: 79
Stelle: 0
Data: 17/02/22
Jader Jed Francia
Messaggi: 63
Stelle: 0
Data: 18/02/21
Paolo Gambetti
Messaggi: 2
Stelle: 0
Data: 11/11/19
Katia Pazzi
Messaggi: 1
Stelle: 0
Data: 27/06/19
Ezio Lombardi
Messaggi: 11
Stelle: 0
Data: 10/04/18
Chiara Mambretti
Messaggi: 25
Stelle: 0
Data: 27/02/17
Serena Traversi
Messaggi: 3
Stelle: 0
Data: 21/07/16
Francesco Falanga
Messaggi: 8
Stelle: 0
Data: 14/06/16
Antonio Musarra
Messaggi: 2
Stelle: 0
Data: 18/11/13
Simone Celli Marchi
Messaggi: 6
Stelle: 0
Data: 09/07/13
Indietro

Query in esecuzione in Postgresql

Al fine di poter migliorare le performance del vostro database Postgresql può essere utile conoscere quali query sono in esecuzione in un dato istante.

Senza andare ad abilitare il logging delle query lente (configurazione che è cambiata anche da versione a versione) si può semplicemente interrogare la tabellapg_stat_activity.

postgres=# SELECT datname,procpid,current_query FROM pg_stat_activity;

datname | procpid | current_query

---------------+---------+---------------

dbtest1 | 3453 | <IDLE>

dbtest2 | 25675 | SELECT * FROM test where id=100;

dbtest1 | 34533 | <IDLE>

(3 rows)

La tabella contiene altre informazioni utili come l'orario di start della query, l'ip del client da cui è stata eseguita e il nome dell'utente.

In questo modo è possibile anche avere la lista delle query che sono in esecuzione ad esempio da più di 3 secondi:

select now()-query_start tempo from pg_stat_activity where now()-query_start > '3 seconds' and current_query <> '<IDLE>';

Precedente
Commenti
Nessun commento. Vuoi essere il primo.