0Pricing
SQL Academy · Leçon

pgBadger pour analyser les journaux

Exécutez pgBadger sur les journaux Postgres pour produire des rapports HTML sur les requêtes lentes, les attentes de verrous et les modèles de connexion.

pgBadger pour analyser les journaux est une leçon SQL Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage SQL Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours SQL Academy comprend 4 leçons au total.

Qu’est-ce que pgBadger ?

Un analyseur de journaux PostgreSQL fondé sur Perl, qui produit de magnifiques rapports HTML sur les requêtes lentes, les attentes de verrous, les erreurs et les schémas de connexions. Exécutez-le périodiquement sur vos journaux.

Configurer la journalisation

postgresql.conf :

log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_min_duration_statement = '500ms'
log_lock_waits = on
log_temp_files = 0
log_checkpoints = on
log_connections = on
log_disconnections = on
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '

Exécuter pgBadger

Générez un rapport :

pgbadger /var/log/postgresql/postgresql-2024-03-15.csv \
  -o report.html

# Multiple files:
pgbadger /var/log/postgresql/*.csv -o report.html

Contenu du rapport

  • Requêtes les plus lentes, avec des exemples
  • Requêtes les plus fréquentes
  • Requêtes les plus coûteuses en temps
  • Attentes de verrous
  • Erreurs
  • Schémas de connexions au fil du temps
  • Utilisation de fichiers temporaires
  • Activité des points de contrôle et du nettoyage automatique

Mode incrémentiel

Pour analyser les journaux en continu, générez des rapports quotidiens :

pgbadger -I -O /var/www/pgbadger/ /var/log/postgresql/*.csv
# Updates an HTML dashboard incrementally.

Exécution automatique via Cron

Tâche nocturne :

0 1 * * * pgbadger -I -O /var/www/pgbadger/ /var/log/postgresql/postgresql-`date +%F`.csv

Comparaison avec pg_stat_statements

pg_stat_statements : métriques agrégées, dans la base de données.
pgBadger : analyse les journaux bruts et trouve des schémas que les agrégats ne révèlent pas (attentes de verrous, erreurs, afflux de connexions).

Extraire les schémas d’attente de verrous

pgBadger résume les attentes de verrous : quelles requêtes en bloquaient d’autres et pendant combien de temps. C’est très utile pour diagnostiquer les problèmes d’interblocage et de contention.

Section des erreurs

Nombre d’occurrences de chaque code d’erreur. « 23505 unique_violation: 12,000 times » est un signal d’alerte : l’application réessaie des insertions en double.

Fichiers temporaires

Requêtes qui débordent sur le disque (tri ou hachage trop volumineux pour work_mem) :

log_temp_files = 0     -- log all temp file usage
-- pgBadger summarises queries that created temp files.

Alternatives dans le cloud

RDS Performance Insights, Cloud SQL Query Insights, etc. effectuent une analyse similaire dans les environnements gérés, généralement à partir des mêmes sources de statistiques.

Récapitulatif

pgBadger transforme les journaux PostgreSQL en tableau de bord.

  • Définissez log_min_duration_statement
  • Générez régulièrement des rapports HTML
  • Repérez les attentes de verrous, les fichiers temporaires et les schémas d’erreurs
  • Complétez pg_stat_statements

Vérification rapide

Vous constatez que votre application réessaie de nombreux INSERT. Quel paramètre de journalisation PostgreSQL vous aide à le confirmer ?

Questions Fréquemment Posées

La leçon « pgBadger pour analyser les journaux » est-elle gratuite ?

Oui — le texte complet de « pgBadger pour analyser les journaux » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours SQL Academy, passe à CoddyKit PRO. Le cours SQL Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « pgBadger pour analyser les journaux » ?

Exécutez pgBadger sur les journaux Postgres pour produire des rapports HTML sur les requêtes lentes, les attentes de verrous et les modèles de connexion. Tu pratiques SQL Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer SQL Academy ?

Aucune expérience préalable n'est requise. SQL Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « pgBadger pour analyser les journaux » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon SQL Academy ?

Oui. Chaque leçon SQL Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. pg_stat_statements : requêtes principales
  2. pgBadger pour analyser les journaux
  3. Mise en commun des connexions : PgBouncer
  4. Planification de capacité et audits du gonflement
← Retour à SQL Academy