Hannu Krosing <hannu@skype.net> writes:
> On K, 2005-08-17 at 14:48 -0400, Tom Lane wrote:
>> While testing this I realized that it does not in fact work as
>> advertised. It will only exclude long-running VACUUMs from other
>> VACUUMs' OldestXmin if *all* the transactions in the system are lazy
>> VACUUMs. If there is even one regular transaction in the system,
>> that transaction will include the VACUUMs in its MyProc->xmin, and
>> thence GetOldestXmin will have to include them in its result.
> Only if these regular transactions are running in SERIALIZABLE isolation
> level, else MyProc->xmin is not set inside GetSnapshotData.
Better read the code again. The first snap in *any* transaction sets
MyProc->xmin.
regards, tom lane