Performans nedenleriyle bir uygulamanın veritabanına karşı yaptığı her SQL deyimini gözden geçirme sürecindeyim. PostgreSQL veritabanı sunucusu tarafından yürütülen tüm ifadeleri günlüğe kaydetmenin kolay bir yolu var mı? Teşekkürler.
Aradığınız yapılandırma seçeneği
log_statement = "all" (yalnızca ifadeleri istiyorsanız) veya
log_min_statement_duration = <some number> "yavaş" sorgulardan hemen sonraysanız ("yavaş" değerinin bir kısmı için). Günlük yapılandırması hakkında daha fazla bilgi için bkz. http://www.postgresql.org/docs/current/static/runtime-config-logging.html .
auto_explain modülü bunun için çok yararlıdır. Yalnızca ifadeleri günlüğe kaydetmekle kalmaz, yürütme planlarını günlüğe kaydeder ve PL/PgSQL işlevleri içinde çalışan ifadeleri bile günlüğe kaydedebilir. Analizi etkinleştirmediğiniz sürece isabet performansı oldukça düşüktür, bu durumda tüm sorgular için oldukça fazla zamanlama yükü ile karşılaşırsınız.
Görmek
auto_explain .