Heikki Linnakangas <[EMAIL PROTECTED]> writes: > Tom Lane wrote: >> BTW I've got serious reservations about whether this bit is safe: >> >>> + /* The table could've grown since vacuum started, and >>> there >>> + * might already be dead tuples on the new pages. Catch >>> them >>> + * as well. Also, we want to include any live tuples in >>> the >>> + * new pages in the statistics. >>> + */ >>> + nblocks = RelationGetNumberOfBlocks(onerel); >> >> I seem to recall some assumptions somewhere in the system that a vacuum >> won't visit newly-added pages.
> Hmm, I can't think of anything. I think I was thinking of the second risk described here: http://archives.postgresql.org/pgsql-hackers/2005-05/msg00613.php which is now fixed so maybe there's no longer any problem. (If there is, a change like this will convert it from a very-low-probability problem into a significant-probability problem, so I guess we'll find out...) I still don't like the patch though; rechecking the relation length every N blocks is uselessly inefficient and still doesn't create any guarantees about having examined everything. If we think this is worth doing at all, we should arrange to recheck the length after processing what we think is the last block, not at any other time. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org