sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan aktiverer du Slow Query Log i PostgreSQL

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.

  1. PG::Fejl:SELECT DISTINCT, ORDER BY-udtryk skal vises i udvalgslisten

  2. Er der en måde at få adgang til den forrige rækkeværdi i en SELECT-sætning?

  3. Tæl med IF-tilstand i MySQL-forespørgsel

  4. Ydeevnegrænser for logiske replikeringsløsninger