Hello,
OK, what's then the difference doing a pg_start_backup() or just
doing the backup?
Isn't that a problem that the datablock are very inconsistent, even so
inconsistent that they are corrupt:
E.g. A part of a datablock is written when e.g. the file is tarred. =>
Datablock on backup is corrupt => An then even the WAL can't be applied.
Why does it work correctly? Or is there some design problem?
Thnx.
Ciao,
Gerhard
--
http://www.wiesinger.com/
On Thu, 25 Jun 2009, Richard Huxton wrote:
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
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general