On Mon, Mar 31, 2008 at 9:02 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
> [ Please see if you can stop using the "redirected dead" terminology ]
>
>
Apologies, will keep that in mind. Seems like a hang-over from the past :-)
> Yeah, I think I agree. The page pruning code is set up so that changing
> a line pointer to DEAD state doesn't change the count of dead tuples in
> the table, so we are counting unreclaimed DEAD pointers as still being
> dead tuples requiring VACUUM. ANALYZE should surely not affect that.
>
> It looks like there's no trivial way to get ANALYZE to do things that
> way, though. heap_release_fetch() doesn't distinguish a DEAD line
> pointer from an unused or redirected one. But in the current
> implementation of ANALYZE there's really no benefit to using
> heap_release_fetch anyway --- it always examines all line pointers
> on each selected page, so we might as well rewrite it to use a simple
> loop more like vacuum uses.
>
I agree. I would write a patch on these lines, unless you are already on to it.
Thanks,
Pavan
--
Pavan Deolasee
EnterpriseDB http://www.enterprisedb.com