Visualizing PostgreSQL Storage Internals

April 21–22
Level: Intermediate

Many PostgreSQL developers work with tables and indexes without ever seeing how data is physically stored. This talk combines explanation of storage fundamentals with live demonstrations using pg-storage-visualizer, an interactive tool I built to make these concepts visible.

Theory first, then we look at real pages. We'll go through how PostgreSQL organizes heap pages and tuples, what xmin and xmax actually contain and how snapshots use them, then watch an UPDATE leave a dead tuple behind. We'll look at B-tree index pages - the root, internal nodes, leaf pages - and see what index bloat looks like when you're staring at page contents. We'll cover why VACUUM cleans the heap but can't reclaim space from indexes, and when you need REINDEX. HOT updates get their own section because they're underused and misunderstood.

You'll leave knowing how to use pageinspect to see this yourself, and with a better mental model for why tables grow, why VACUUM matters, and what's actually happening when things get slow.

Back

Join Us For PostgreSQL Conference Germany 2026

April 21–22 2026

Haus der Technik, Essen, Germany