On 1/23/07, Tom Lane <[EMAIL PROTECTED]> wrote:
"Pavan Deolasee" <[EMAIL PROTECTED]> writes:
> Would it help to set the status of the XMIN/XMAX of tuples early enough
> that the heap page is still in the buffer cache, but late enough such
> the XMIN/XMAX transactions are finished ? How about doing it when the
> bgwriter is about to write the page to disk ?
No. The bgwriter would then become subject to deadlocks because it
would be needing to read in clog pages before it could flush out
dirty pages. In any case, if the table is in active use then some
passing backend has probably updated the bits already ...
Well, let me collect some evidence. If we figure out that there is indeed a
CLOG buffer thrash at VACUUM time, I am sure we would be able to solve
the problem one way or the other.
IMHO this case would be more applicable to the very large tables where the
UPDATEd rows are not accessed again for a long time. And hence the hint bits
might not have been updated.