Point-in-time recovery for small Postgres setups
For a single-node database, WAL archiving to object storage plus a nightly base backup covers most failure modes.
archive_mode = on archive_command = 'wal-g wal-push %p'
Test restores monthly; an untested backup is a hope, not a backup.