Postgres backups under the hood
Jul 24, 2026Josh Brown

Summary
This post details the mechanics of Postgres backups, contrasting logical backups (`pg_dump`) with file system backups and continuous archiving. It explains the limitations of `pg_dump`, particularly its resource consumption on large databases and its inability to perform point-in-time recovery. A significant portion is dedicated to explaining transaction wraparound and how long-running transactions, like those initiated by `pg_dump`, can inadvertently trigger read-only mode. The post then elaborates on continuous archiving, explaining the role of the Write-Ahead Log (WAL) in ensuring data durability and enabling point-in-time recovery by replaying WAL segments alongside a file system backup.