Met PostgreSQL kunnen langzame query's worden vastgelegd in een logbestand of tabel. Door deze logboeken te ontleden, kunt u eenvoudig bepalen welke query's uw database vertragen. Hier zijn de stappen om langzame querylog in PostgreSQL in te schakelen. Je kunt ze ook gebruiken om langzame query-log in RDS, Redshift en andere PostgreSQL-databases in te schakelen.
Hoe trage query-log in PostgreSQL in te schakelen
U kunt trage zoekopdrachten in PostgreSQL herkennen door eenvoudig een paar instellingen in postgresql.conf aan te passen bestand
1. Vind locatie van postgresql.conf
Open terminal en voer de volgende opdracht uit om de locatie van het postgresql.conf-bestand voor uw database te vinden.
$ find / -name postgresql.conf
/etc/postgresql/9.1/main/postgresql.conf
Bonus lezen:PostgreSQL gematerialiseerde weergave
2. Open postgresql.conf
Voer de volgende opdracht uit om het bestand postgresql.conf in een teksteditor te openen
$ vi /etc/postgresql/9.1/main/postgresql.conf
Bonus lezen:hoe u de laatste rij per groep kunt krijgen in PostgreSQL
3. Langzame querylog inschakelen in PostgreSQL
Zoek naar de volgende regel
#log_min_duration_statement = -1
Uncommentaar door # aan het begin te verwijderen. Vervang ook -1 door een runtime-drempelwaarde voor query's in milliseconden. Als u bijvoorbeeld zoekopdrachten wilt loggen die langer dan 1 seconde duren, vervangt u -1 door 1000
log_min_duration_statement = 1000
Sla het bestand op en sluit het
Zoek ook naar de volgende regel,
logging_collector = on
Zorg ervoor dat logging_collector is ingesteld op aan .
Bonus lezen:Histogram maken in PostgreSQL
4. Zoek log met trage zoekopdrachten
U vindt ook een andere variabele in postgresql.conf
log_directory = 'pg_log'
Dit geeft aan dat het PostgreSQL-logbestand zich bevindt op /var/lib/pgsql/data/pg_log/
5. Start de PostgreSQL-database opnieuw
Voer de volgende opdracht uit om PostgreSQL te herstarten
Ubuntu/Debian
$ sudo systemctl restart postgresql
CentOS/Redhat
# /etc/init.d/postgresql restart
Hopelijk helpt het bovenstaande artikel u bij het loggen van langzame zoekopdrachten in PostgreSQL.