Junior — Middle
Hoe identificeer en analyseer je een langlopende query in PostgreSQL?
sobes.tech AI
Antwoord van AI
Om langdurige queries in PostgreSQL te identificeren, kan je gebruik maken van het systeemweergave pg_stat_activity, dat de huidige actieve queries en hun uitvoeringstijd toont. Bijvoorbeeld, de query:
SELECT pid, now() - query_start AS duration, query
FROM pg_stat_activity
WHERE state = 'active'
ORDER BY duration DESC
LIMIT 5;
zal het mogelijk maken om de 5 langstlopende actieve queries te zien.
Voor een diepere analyse kan je het loggen van trage queries inschakelen in postgresql.conf:
log_min_duration_statement = 1000 # log queries die langer duren dan 1000 ms
Hierdoor worden alle queries die deze tijd overschrijden in de logs vastgelegd.
Het is ook nuttig om profiling tools en EXPLAIN ANALYZE te gebruiken om het uitvoeringsplan van specifieke queries te analyseren en knelpunten te identificeren.