On 2/24/19 11:36 PM, Stephen Frost wrote:
Greetings,

* Laurenz Albe (laurenz.a...@cybertec.at) wrote:
Stephen Frost wrote:
Yes, it *is* impossible to do safe backups with the existing API.  There
is an unquestionable race condition where a system restart will cause
your system to not come back up without you going in and removing the
backup_label file- and the only way you make that race window small is
to remove the backup_label file right after you run pg_start_backup and
copy it, and then PUT IT BACK at the end before you call pg_stop_backup,
which is insane, but otherwise the 'race window' is the ENTIRE length of
the backup.

I just have an idea:

What about an option to keep WAL around for the duration of an exclusive backup?

That way PostgreSQL can still restart after a crash.  It will take longer than
expected, but it will work.  But then, perhaps the long recovery time is only
marginally better than having to manually delete the backup_label file...

I'm afraid that we'd end up with many, many complaints about people
running out of disk space on WAL when they are trying to take a backup..

This would also require replaying all that WAL during crash recovery which could mean a much longer startup time.

--
-David
da...@pgmasters.net

Reply via email to