Ben Clewett <B.Clewett@roadrunner.uk.com> writes:
> > So does PostgreSQL (pg_dump/pg_dumpall).
>
> I have used this, and it's a great command.
>
> I could not work out from the documentation whether it takes a
> snapshot at the start time, or archives data at the time it find's it.
> The documentation (app-pg-dump.html). As the documentation does not
> clarify this very important point, I desided it's not safe to use when
> the system is in use.
Ummm, quoting from the pg_dump manpage:
pg_dump makes consistent backups even if the database is being used concurrently. pg_dump does not
block other users accessing the database (readers or writers).
What part of this isn't clear?
It's safe. pg_dump does all its work inside a transaction, so MVCC
rules automatically guarantee that it sees a consistent snapshot.
> Can this command can be used, with users in the system making heavy
> changes, and when takes many hours to complete, does produce a valid
> and consistent backup?
Absolutely.
> If so, you have all MySQL has here and in a more useful format.
I think MySQL's consistent hot backup has to lock tables, while PG's
doesn't...
-Doug