diff --git a/HowtoPostgreSQL.md b/HowtoPostgreSQL.md index 03e241af..a7d515d1 100644 --- a/HowtoPostgreSQL.md +++ b/HowtoPostgreSQL.md @@ -1173,16 +1173,13 @@ Avant tout, il faut définir le `log_min_duration_statement` dans la configurati En résumé voici ce à quoi la configuration de PostgreSQL devrait ressembler : ~~~ -log_min_duration_statement = 200 // 200 ms +log_min_duration_statement = 1s log_checkpoints = on -log_connections = on -log_disconnections = on log_lock_waits = on -log_temp_files = 0 -log_autovacuum_min_duration = 0 -log_error_verbosity = default -log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d ' -lc_messages='C' +log_temp_files = 5MB +log_autovacuum_min_duration = 1s +log_line_prefix = '%t [%p]: user=%u,db=%d,app=%a,client=%h ' +lc_messages = 'C' ~~~ Installation : @@ -1194,7 +1191,7 @@ Installation : Exécution : ~~~ -# /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql.log.1 -O /var/www/pg_reports/ +# /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql.log -O /var/www/pg_reports/ ~~~ Plusieurs autres options peuvent être spécifiées, voir l'aide de la commande pour plus d'informations. @@ -1202,9 +1199,14 @@ Plusieurs autres options peuvent être spécifiées, voir l'aide de la commande On peux mettre l'analyse des logs avec pgBadger dans la crontab comme ceci, avec un umask pour avoir les droits corrects pour nginx ou Apache : ~~~ -0 4 * * * umask 022 ; /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql-9.6-main.log.1 -O /var/www/pg_reports/ +0 4 * * * umask 022 ; /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql-9.6-main.log -O /var/www/pg_reports/ ~~~ +On peux également exclure des requêtes avec les options suivantes : + +* `--exclude-query` toute requête correspondant à l'expression régulière donnée sera exclue du rapport, exemple : `"^(VACUUM|COMMIT)"` +* `--exclude-file` chemin du fichier qui contient toutes les regex vers utiliser pour exclure les requêtes du rapport. Une expression régulière par ligne. + Vérifier aussi le logrotate des logs de posgresql, si on veux avoir un rapport journalier ou hebdomadaire. ## phpPgAdmin / pgAdmin III