On Fri, 28 Mar 2003, Tom Lane wrote:
> It seems to me that it'd be fairly easy to make BEGIN cause only
> a local state change in the backend; the actual transaction need not
> start until the first subsequent command is received. It's already
> true that the transaction snapshot is not frozen at BEGIN time, but
> only when the first DML or DDL command is received; so this would
> have no impact on the client-visible semantics. But a BEGIN-then-
> sleep-for-awhile client wouldn't interfere with VACUUM anymore.
What about serializable mode? Wouldn't that break it?