PostgreSQL tillader at logge langsomme forespørgsler til en logfil eller tabel. Parsing af disse logfiler hjælper dig med nemt at bestemme, hvilke forespørgsler der gør din database langsommere. Her er trinene til at aktivere langsom forespørgselslog i PostgreSQL. Du kan også bruge dem til at aktivere langsom forespørgselslog i RDS, Redshift og andre PostgreSQL-databaser.
Sådan aktiverer du Slow Query Log in PostgreSQL
Du kan identificere langsomme forespørgsler i PostgreSQL ved blot at ændre nogle få indstillinger i postgresql.conf fil
1. Find placeringen af postgresql.conf
Åbn terminal og kør følgende kommando for at finde placeringen af postgresql.conf-filen til din database.
$ find / -name postgresql.conf
/etc/postgresql/9.1/main/postgresql.conf
Bonuslæser:PostgreSQL materialiseret visning
2. Åbn postgresql.conf
Kør følgende kommando for at åbne postgresql.conf-filen i en teksteditor
$ vi /etc/postgresql/9.1/main/postgresql.conf
Bonus Læs:Sådan får du sidste række pr. gruppe i PostgreSQL
3. Aktiver langsom forespørgselslog i PostgreSQL
Søg efter følgende linje
#log_min_duration_statement = -1
Fjern kommentaren ved at fjerne # i begyndelsen. Erstat også -1 med en tærskelværdi for forespørgselskørselstid i millisekunder. For eksempel, hvis du vil logge forespørgsler, der tager mere end 1 sekund at køre, skal du erstatte -1 med 1000
log_min_duration_statement = 1000
Gem og afslut filen
Se også efter følgende linje,
logging_collector = on
Sørg for at logging_collector er indstillet til til .
Bonus Læs:Sådan opretter du histogram i PostgreSQL
4. Find langsom forespørgselslog
Du vil også finde en anden variabel i postgresql.conf
log_directory = 'pg_log'
Dette indikerer, at PostgreSQL-logfilen er placeret på /var/lib/pgsql/data/pg_log/
5. Genstart PostgreSQL-databasen
Kør følgende kommando for at genstarte PostgreSQL
Ubuntu/Debian
$ sudo systemctl restart postgresql
CentOS/Redhat
# /etc/init.d/postgresql restart
Forhåbentlig vil ovenstående artikel hjælpe dig med at logge langsomme forespørgsler i PostgreSQL.