From: | "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Dylan Hansen <dhansen(at)pixpo(dot)com>, pgsql-general(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Subject: | Re: auto-vacuum & Negative "anl" Values |
Date: | 2006-06-24 23:09:49 |
Message-ID: | 449DC63D.6060805@zeut.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Tom Lane wrote:
> Dylan Hansen <dhansen(at)pixpo(dot)com> writes:
>
>> I have been spending some time looking into how auto-vacuum is
>> performing on one of our servers. After putting the PostgreSQL logs
>> in debug I noticed that the threshold for ANALYZE was never being hit
>> for a particular table because the calculated value becomes
>> increasingly negative.
>>
>
> Hmm, it shouldn't ever be negative at all, I would think. The
> calculation in question is
>
> anltuples = tabentry->n_live_tuples + tabentry->n_dead_tuples -
> tabentry->last_anl_tuples;
>
> Apparently somehow last_anl_tuples has managed to get to be bigger than
> n_live_tuples, which maybe could happen after a delete. Should we be
> clamping last_anl_tuples to not exceed n_live_tuples somewhere?
> Alvaro and Matthew, what do you think?
I think I had something in the contrib version that checked this. I
always assumed it would be caused by a stats reset which was more common
in earlier PGSQL releases since stats_reset_on_startup (or whatever the
correct spelling of that is) was enabled by default.
From | Date | Subject | |
---|---|---|---|
Next Message | Clarence | 2006-06-25 01:53:16 | Re: VACUUM hanging on idle system |
Previous Message | Jan Wieck | 2006-06-24 20:20:14 | Re: Adding foreign key constraints without integrity check? |