Re: [GENERAL] ANALYZE getting dead tuple count hopelessly wrong
- From: "Pavan Deolasee" <pavan(dot)deolasee(at)gmail(dot)com>
- To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
- Cc: "Stuart Brooks" <stuartb(at)cat(dot)co(dot)za>, pgsql-general(at)postgresql(dot)org, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
- Subject: Re: [GENERAL] ANALYZE getting dead tuple count hopelessly wrong
- Date: Tue, 1 Apr 2008 00:04:25 +0530
- Message-id: <2e78013d0803311134v44604be5l20e97ee7d3461ec4@mail.gmail.com> <text/plain>
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
Home |
Main Index |
Thread Index