On 1/9/06, Michael Fuhr <mike@xxxxxxxx> wrote:
On Mon, Jan 09, 2006 at 12:22:27PM -0500, Chris Hoover wrote:
> I'm trying to understand better what happens to a transaction that is
> commited in the middle of a pg_dump. Is the transaction included in the
> database dump, or is it excluded.
If you look at the pg_dump source code or turn on query logging,
you should see that pg_dump starts with
BEGIN
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
See "Transaction Isolation" in the "Concurrency Control" chapter of the
documentation for an explanation of what that means.
http://www.postgresql.org/docs/8.1/interactive/transaction-iso.html
--
Michael Fuhr
Just to make sure I correctly understood what I read, once pg_dump issues the :
BEGIN
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
The backup will only see transactions that were commited before the isolation level was set Is this correct? Any transactions that are commited while the backup is running are not seen by pg_dump.
Correct?
Thanks,
Chris