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.
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.htmlVad 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`.csvJä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?
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
- pg_stat_statements: viktigaste frågorna
- pgBadger för logganalys
- Anslutningspoolning: PgBouncer
- Kapacitetsplanering och bloatgranskningar