At all times, PostgreSQL maintains a write ahead log (WAL) in
the pg_xlog/ subdirectory of the cluster's data directory. The
log records every change made to the database's data files. This
log exists primarily for crash-safety purposes: if the system
crashes, the database can be restored to consistency by
"replaying" the log entries made since the last checkpoint.
However, the existence of the log makes it possible to use a
third strategy for backing up databases: we can combine a file-
system-level backup with backup of the WAL files. If recovery is
needed, we restore the file system backup and then replay from
the backed-up WAL files to bring the system to a current state.
This approach is more complex to administer than either of the
previous approaches, but it has some significant benefits: We do
not need a perfectly consistent file system backup as the
starting point. Any internal inconsistency in the backup will be
corrected by log replay (this is not significantly different
from what happens during cra