Most teams have a backup story that sounds good until something goes wrong. This post covers the full picture of PostgreSQL backup: the difference between logical (pg_dump) and physical (pg_basebackup) backups, how WAL archiving enables point-in-time recovery to any second within your retention window, and how to set up pgBackRest for production backup management.
The section most guides skip: backup verification. An untested backup is not a backup. The post includes a working restore drill pattern and a pg_stat_archiver query you can run right now to check if your WAL archive is silently failing.
Key topics: pg_dump vs pg_basebackup tradeoffs, WAL archiving setup, PITR configuration, pgBackRest for production, backup retention policies, and a practical checklist before you call your strategy production-ready.
Full article: https://rivestack.io/blog/postgresql-backup-recovery-guide