Gerhard Wiesinger wrote:
> Hello,
>
> I'd like to understand the PostgreSQL internals in "backup mode".
>
> When I understood it correctly pg_start_backup() make a checkpoint and
> stops writing to the data/ directory except the WAL.
>
> All new transaction go into WAL which is also logical. But how is data
> consistency done when the written/changed blocks don't fit into the
> buffer cache?
The data isn't kept consistent. Which is why you need the WAL. Restoring
from a PITR backup is basically the same idea as recovering from a
crash. Any blocks that might have been updated since you called
pg_start_backup() will be rewritten from the WAL.
--
Richard Huxton
Archonet Ltd