Ben <bench@silentmedia.com> writes:
> But, this page confuses me when it talks about pg_start_backup and
> pg_stop_backup. What do these functions do? It seems like they do
> nothing more than let me know which wal files were in use over the
> duration of the backup, which is certainly useful. But they do NOT
> seem to freeze the actual data files, and it seems to me that because
> the data files won't be archived atomically while they may be
> changing, that I might end up with corrupted data files that a replay
> of wal files wouldn't correct. Is my fear groundless?
Yes. The reason we don't have to freeze the data files during a backup
is that any page that changes within that interval will be rewritten
anyway when the WAL log is replayed during recovery. This is why the
WAL sequence has to start before the pg_start_backup rather than at some
later point --- that overlap is exactly what makes it safe to not freeze
the data files.
regards, tom lane