On Thu, 2007-01-25 at 22:19 -0500, Jan Wieck wrote:
> The idea is to clone an existing serializable transactions snapshot
> visibility information from one backend to another. The semantics would
> be like this:
>
> backend1: start transaction;
> backend1: set transaction isolation level serializable;
> backend1: select pg_backend_pid();
> backend1: select publish_snapshot(); -- will block
Great idea. It can also be used by pg_dump to publish its snapshot so
that we can make VACUUM continue to process effectively while it pg_dump
is running.
Two questions:
- why does it have to block? I don't see any reason - the first process
can begin doing useful work. The second process might fail or itself be
blocked by something.
- why just serializable snapshots?
-- Simon Riggs EnterpriseDB http://www.enterprisedb.com