Re: visibility map and reltuples - Mailing list pgsql-hackers

From Tom Lane
Subject Re: visibility map and reltuples
Date
Msg-id 1223.1229356550@sss.pgh.pa.us
Whole thread Raw
In response to Re: visibility map and reltuples  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Responses Re: visibility map and reltuples  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-hackers
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> Greg Stark wrote:
>> I wonder if we should switch to keeping reltuplesperpage instead. Then a 
>> partial vacuum could update it by taking the average number of tuples 
>> per page forbthe pages it saw. Perhaps adjusting it to the weights 
>> average between the old value and the new value based on how many pages 
>> were seen.

> The pages scanned by a partial vacuum isn't a random sample of pages in 
> the table. That would bias the reltuplesperpage value towards those 
> pages that are updated more.

Yeah ... and it's highly likely that repeatedly-updated pages would have
more dead space than never-updated ones, so there'd be a systematic
creep towards underestimation of the total tuple count.

I think your previous sketch is right: suppress update of reltuples (and
relpages) from a partial vacuum scan, and ensure that the analyze phase
is allowed to do it instead if it happens during VACUUM ANALYZE.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Michael Meskes
Date:
Subject: Re: Looking for someone with MinGW
Next
From: Alvaro Herrera
Date:
Subject: Re: rules regression test failed on mingw