PostgreSQL consente di registrare query lente in un file di registro o in una tabella. L'analisi di questi registri ti aiuterà a determinare facilmente quali query stanno rallentando il tuo database. Ecco i passaggi per abilitare il log delle query lente in PostgreSQL. Puoi anche usarli per abilitare il log delle query lente in RDS, Redshift e altri database PostgreSQL.
Come abilitare l'accesso a query lente in PostgreSQL
Puoi identificare le query lente in PostgreSQL semplicemente modificando alcune impostazioni in postgresql.conf file
1. Trova la posizione di postgresql.conf
Apri il terminale ed esegui il comando seguente per trovare la posizione del file postgresql.conf per il tuo database.
$ find / -name postgresql.conf
/etc/postgresql/9.1/main/postgresql.conf
Bonus Lettura:Vista materializzata PostgreSQL
2. Apri postgresql.conf
Esegui il comando seguente per aprire il file postgresql.conf in un editor di testo
$ vi /etc/postgresql/9.1/main/postgresql.conf
Bonus Leggi:Come ottenere l'ultima riga per gruppo in PostgreSQL
3. Abilita il log delle query lente in PostgreSQL
Cerca la riga seguente
#log_min_duration_statement = -1
Decommentalo rimuovendo # all'inizio. Sostituisci anche -1 con una soglia di runtime della query in millisecondi. Ad esempio, se desideri registrare query che richiedono più di 1 secondo per l'esecuzione, sostituisci -1 con 1000
log_min_duration_statement = 1000
Salva ed esci dal file
Cerca anche la riga seguente,
logging_collector = on
Assicurati di logging_collector è impostato su attivo .
Bonus Leggi:Come creare istogramma in PostgreSQL
4. Trova registro query lento
Troverai anche un'altra variabile in postgresql.conf
log_directory = 'pg_log'
Ciò indica che il file di registro di PostgreSQL si trova in /var/lib/pgsql/data/pg_log/
5. Riavvia il database PostgreSQL
Esegui il comando seguente per riavviare PostgreSQL
Ubuntu/Debian
$ sudo systemctl restart postgresql
CentOS/Redhat
# /etc/init.d/postgresql restart
Si spera che l'articolo sopra ti aiuti a registrare query lente in PostgreSQL.