SQL Academy · Lektion

pgBadger för logganalys

Kör pgBadger över Postgres-loggar för att skapa HTML-rapporter om långsamma frågor, väntan på lås och anslutningsmönster.

Lektion 2 av 413 steg

pgBadger för logganalys är en gratis lektion i SQL Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för SQL Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i SQL Academy innehåller totalt 4 lektioner.

Vad pgBadger är

En Perl-baserad logganalysator för PostgreSQL som skapar snygga HTML-rapporter över långsamma frågor, låsningsväntan, fel och anslutningsmönster. Kör den regelbundet mot Era loggar.

Konfigurera loggning

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 '

Kör pgBadger

Generera en rapport:

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

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

Vad rapporten innehåller

  • Långsammaste frågor med exempel
  • Vanligaste frågorna
  • Frågor som tar längst tid
  • Låsningsväntan
  • Fel
  • Anslutningsmönster över tid
  • Användning av temporära filer
  • Checkpoint- och vacuum-aktivitet

Inkrementellt läge

För kontinuerlig logganalys kan Ni generera dagliga rapporter:

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

Kör automatiskt via Cron

Nattligt jobb:

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

Jämfört med pg_stat_statements

pg_stat_statements: aggregerade mätvärden i databasen.
pgBadger: tolkar råloggar och hittar mönster som aggregeringar missar (låsningsväntan, fel och anslutningsstormar).

Hitta mönster för låsningsväntan

pgBadger sammanfattar låsningsväntan — vilka frågor som blockerade vilka andra och hur länge. Det är utmärkt för att diagnostisera problem med dödlägen och konkurrens.

Felsektionen

Antalet förekomster av varje felkod. "23505 unique_violation: 12,000 times" är en varningssignal — applikationen försöker igen med dubblettinfogningar.

Temporära filer

Frågor som spiller över till disk (sortering/hashning som är för stor för work_mem):

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

Molnalternativ

RDS Performance Insights, Cloud SQL Query Insights med flera utför liknande analyser i hanterade miljöer — vanligtvis baserat på samma statistikkällor.

Sammanfattning

pgBadger omvandlar Postgres-loggar till en instrumentpanel.

  • Ställ in log_min_duration_statement
  • Generera återkommande HTML-rapporter
  • Hitta låsningsväntan, temporära filer och felmönster
  • Kompletterar pg_stat_statements

Snabb kontroll

Ni ser att applikationen försöker igen med många INSERT-frågor. Vilken Postgres-logginställning hjälper Er att bekräfta detta?

Gratis att börja

Lär dig SQL med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
46
Lektioner
183

Vanliga frågor

Är lektionen ”pgBadger för logganalys” gratis?

Ja – hela texten till ”pgBadger för logganalys” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i SQL Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i SQL Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”pgBadger för logganalys”?

Kör pgBadger över Postgres-loggar för att skapa HTML-rapporter om långsamma frågor, väntan på lås och anslutningsmönster. Ni övar på SQL Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig SQL Academy?

Du behöver inga förkunskaper. Utbildningen i SQL Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”pgBadger för logganalys”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här SQL Academy-lektionen?

Ja. Varje SQL Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. pg_stat_statements: viktigaste frågorna
  2. pgBadger för logganalys
  3. Anslutningspoolning: PgBouncer
  4. Kapacitetsplanering och bloatgranskningar
← Tillbaka till SQL Academy