Re: PATCH to allow concurrent VACUUMs to not lock each

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: pgsql-hackers@postgresql.org, Alvaro Herrera <alvherre@commandprompt.com>
Cc: Hannu Krosing <hannu@skype.net>, Bruce Momjian <bruce@momjian.us>, Neil Conway <neilc@samurai.com>, pgsql-patches@postgresql.org
Date: 2006-07-30T20:24:09Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@commandprompt.com> writes:
> Tom Lane wrote:
>> Knew I should have taken time to review that patch before it went in ...

> Which one?  The one I applied doesn't have this change.

Never mind --- I misunderstood the context of the discussion and thought
you had made larger changes in the last version of the patch than I was
expecting ...

The patch as committed looks fine to me, modulo a couple of comments
which I've fixed.

One thing that slightly troubles me is that GetOldestXmin will now
ignore a lazy vacuum's *own* xmin, which is not like the previous
behavior.  Offhand I can't see a reason why this is not safe, but
maybe it'd have been better for it to do

+ 		if (ignoreVacuum && proc->inVacuum && proc != MyProc)
+ 			continue;

Thoughts?

			regards, tom lane