In Postgres è possibile decidere quali informazioni aggiungere al file dei LOG grazie alle numerose opzioni presenti nel file di configurazione del server (postgresql.conf
).
Postgres inoltre si integra alla perfezione con demoni di log di sistema come syslog
(in ambienti UNIX).
Compito frequente del DBA è leggere i file di log di un server, interpretandoli secondo la propria esperienza.
A volte, specialmente se le informazioni inserite nel log sono tante, i file generati dal server risultano di difficile comprensione se analizzati con strumenti come un semplice editor di testo.
Per facilitare il compito dei DBA sono stati sviluppati strumenti che hanno il compito specifico di analizzare file di log e presentare statistiche utili in un formato facilmente consultabile.
Il più popolare, ad oggi, è sicuramente pgFouine. Vediamo come usarlo e quali alternative vi sono.
URL di riferimento: http://pgfouine.projects.postgresql.org
pgFouine
è il più completo analizzatore di log presente ad oggi. Produce report in formato HTML con statistiche generali su query, checkpoint ed errori.
URL di riferimento: https://github.com/WoLpH/pg_query_analyser
pg_query_analyser
è un clone C++ di PgFouine. È stato sviluppato da Rick van Hattem, un collega di 2ndQuadrant.
URL di riferimento: https://github.com/dalibo/pgbadger
È l’ennesimo clone di pgFouine. Il suo punto di forza sono sicuramente i grafici, realizzati con una libreria Javascript e di ottima qualità.
Dai test che ho effettuato, pgbadger è risultato essere un ottimo compromesso tra prestazioni nell’analisi e qualità del report.
Se le vostre esigenze sono di analizzare esclusivamente le query, terrei in considerazione pg_query_analyser
, che esegue un ottimo lavoro usando un quantitativo di risorse esiguo.