0Pricing
SQL Academy · Lektion

pgBadger für die Log-Analyse

Führen Sie pgBadger über Postgres-Logs aus, um HTML-Berichte zu langsamen Abfragen, Wartezeiten auf Sperren und Verbindungsmustern zu erstellen.

pgBadger für die Log-Analyse ist eine kostenlose SQL Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des SQL Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.

Was pgBadger ist

Ein Perl-basierter PostgreSQL-Loganalysator, der ansprechende HTML-Berichte zu langsamen Abfragen, Sperrwartezeiten, Fehlern und Verbindungsmustern erstellt. Führen Sie ihn regelmäßig für Ihre Logs aus.

Protokollierung konfigurieren

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 '

pgBadger ausführen

Bericht erstellen:

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

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

Inhalt des Berichts

  • Langsamste Abfragen mit Beispielen
  • Am häufigsten ausgeführte Abfragen
  • Abfragen mit dem höchsten Zeitaufwand
  • Sperrwartezeiten
  • Fehler
  • Verbindungsmuster im Zeitverlauf
  • Verwendung temporärer Dateien
  • Checkpoint- und Vacuum-Aktivität

Inkrementeller Modus

Für eine kontinuierliche Loganalyse erstellen Sie tägliche Berichte:

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

Automatische Ausführung per Cron

Jeden Abend auszuführender Job:

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

Im Vergleich zu pg_stat_statements

pg_stat_statements: aggregierte Metriken in der Datenbank.
pgBadger: analysiert unformatierte Logs und findet Muster, die bei der Aggregation verloren gehen (Sperrwartezeiten, Fehler, Verbindungsstürme).

Muster von Sperrwartezeiten ermitteln

pgBadger fasst Sperrwartezeiten zusammen — welche Abfragen welche anderen blockiert haben und wie lange. Das ist hervorragend geeignet, um Probleme mit Deadlocks und Ressourcenkonflikten zu diagnostizieren.

Fehlerbereich

Anzahl aller Fehlercodes. „23505 unique_violation: 12,000 times“ ist ein Warnsignal — die Anwendung versucht wiederholt, doppelte Datensätze einzufügen.

Temporäre Dateien

Abfragen, die Daten auf die Festplatte auslagern (Sortierung/Hashing ist zu groß für work_mem):

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

Cloud-Alternativen

RDS Performance Insights, Cloud SQL Query Insights usw. führen in verwalteten Umgebungen eine ähnliche Analyse durch — normalerweise auf Grundlage derselben Statistikquellen.

Zusammenfassung

pgBadger verwandelt Postgres-Logs in ein Dashboard.

  • log_min_duration_statement festlegen
  • Regelmäßig HTML-Berichte erstellen
  • Sperrwartezeiten, temporäre Dateien und Fehlermuster finden
  • Ergänzt pg_stat_statements

Kurzer Check

Sie beobachten, dass Ihre Anwendung viele INSERTs wiederholt. Welche Postgres-Protokolleinstellung hilft Ihnen, dies zu bestätigen?

Häufig gestellte Fragen

Ist die Lektion „pgBadger für die Log-Analyse“ kostenlos?

Ja — der vollständige Text von „pgBadger für die Log-Analyse“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des SQL Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „pgBadger für die Log-Analyse“?

Führen Sie pgBadger über Postgres-Logs aus, um HTML-Berichte zu langsamen Abfragen, Wartezeiten auf Sperren und Verbindungsmustern zu erstellen. Du übst SQL Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um SQL Academy zu starten?

Keine Vorkenntnisse erforderlich. SQL Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „pgBadger für die Log-Analyse“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser SQL Academy-Lektion Code schreiben und ausführen?

Ja. Jede SQL Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. pg_stat_statements: Wichtigste Abfragen
  2. pgBadger für die Log-Analyse
  3. Connection Pooling: PgBouncer
  4. Kapazitätsplanung und Bloat-Prüfungen
← Zurück zu SQL Academy