You've been building your application for months, you've tested with beta users, you've gotten feedback and iterated. You've gone through your launch checklist, email beta users, publish the blog post, post to hacker news and hope the comments are friendly. But is your database ready for whatever may come on launch day or even 2 months in? Here's a handy checklist to make sure you're not caught flat footed.
A logical backup is the raw SQL data that can be loaded in a form of INSERTS or similar. Logical backups are great if you want to move data around between environments or need a local copy.
Physical backups are a combination of a base backup (how the bytes look on disk) and the write-ahead-log or WAL. In over simplified terms Postgres is really just a large append only log under the covers known as WAL. By combining the base backup with WAL you’re able to have database backup that can be for a range in time vs. a single snapshot like with pg_dump.
Both logical and physical have their time in place, but a key piece of both is that they should be tested. A backup system that isn’t tested has a good chance of not being a working backup.