Uplevel pgBadger: The Potential of Postgres for Log Analysis by Henrietta Dombrovskaya

ScyllaDB 0 views 24 slides Oct 09, 2025
Slide 1
Slide 1 of 24
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24

About This Presentation

pgBadger is a well-known and widely used tool for identifying performance bottlenecks when using PostgreSQL. But there is even more you can do. Using the newly added "raw output" feature, we built new tools for even deeper insight analysis of the root causes of performance degradation.


Slide Content

A ScyllaDB Community
Uplevel pgBadger: The Potential
of Postgres for Log Analysis
Henrietta Dombrovskaya
Database Architect

Hettie Dombrovskaya (She/Her)

Database Architect at DRW Holdings
■Prairie Postgres NFP President
■Optimizing everything (not just databases)
■PG Data 2026 Organizer
■Illinois Prairie PUG Organizer
■ACM Chicago Chapter Communications Chair
■LPI Board of Directors

pgBadger, why we love it
and why we want more

pgBadger report example

pgBadger report example

Open question

Thank you Gills Darold !!!!

New pgBadger features
and how we use them

New options

--dump-raw-csv – produces parsed log, in a csv format

—csv-separator – assigns separator different from ‘,’

Example:

pgbadger /Users/hettie/chocolate.log –dump-raw-csv –csv-separator # >
chocolate.csv

Loading to (another) database

How can we use this table

■Session tracing
■Tracing events which happened at the same time
■Performance dynamics
■Precise access control (audit)

Example 1: tracing application session

Where these BEGIN come from?

select
log_id,
log_time,
pid,
duration,
query
from sweets_logs.chocolate_log
where pid =336248
order by log_id
Querying the log

Example 2:
“Sometimes, everything is slow!”

What else?
Other things already done:
■Complete automation
■Real-time logging
●On the server with ~ 800io/s the storage total usage is ~2GB/hour
■Allow individual logs reload in case of error, preserving the operations order
■Finer time granularity (milliseconds timestamps)
■Associating execution interval with each statement

Where to find me
LinkedIn:
GutHub:
hettie-d.github.com
Prairie Postgres:
prairiepostgres.org
PG DATA 2026:
2026.pg-data.org

Thank you! Let’s connect.
Hettie Dombrovskaya
[email protected]
@HettieDombr
hdombrovskaya.wordpress.com
Tags