diff --git a/HowtoPostgreSQL.md b/HowtoPostgreSQL.md index d2e3302a..ce04ee96 100644 --- a/HowtoPostgreSQL.md +++ b/HowtoPostgreSQL.md @@ -842,10 +842,37 @@ Voir [la documentation Barman](http://docs.pgbarman.org/release/2.3/). [PgBadger](https://github.com/dalibo/pgbadger) permet d'analyser des logs PostgreSQL et de générer une page HTML représentant les résultats sous forme de graphes et tableau de données. +Avant tout, il faut définir le `log_min_duration_statement` dans la configuration de PostgreSQL à une valeur raisonnable (suffisamment de requêtes doivent être loguées sans pour autant impacter les performances). S'assurer également que PostgreSQL ajoute suffisamment d'information de contexte sur chaque ligne de log écrite : `log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d '`. On peut également loguer des informations supplémentaires comme les connexions/déconnexions, fichiers temporaires, etc… + +En résumé voici ce à quoi la configuration de PostgreSQL devrait ressembler : + +~~~ +log_min_duration_statement = 200 // 200 ms +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' +~~~ + +Installation : + ~~~ # apt install pgbadger ~~~ +Exécution : + +~~~ +# /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql.log.1 -O /var/www/pg_reports/ +~~~ + +Plusieurs autres options peuvent être spécifiées, voir l'aide de la commande pour plus d'informations. + ### phpPgAdmin / pgAdmin III phpPgAdmin et pgAdmin III sont des clients web (pour le premier) et lourd (pour le second) pour interagir avec des bases de données PostgreSQL. @@ -858,6 +885,10 @@ Installation : ~~~ +### pg_stats_statement + +(TODO) + ## Réplication Plusieurs solutions de réplication plus ou moins avancées existent avec PostgreSQL :