From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Jeff Boes <jboes(at)nexcerpt(dot)com> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: Sidetracking pg_autovacuum |
Date: | 2005-05-18 19:40:55 |
Message-ID: | 24304.1116445255@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Jeff Boes <jboes(at)nexcerpt(dot)com> writes:
> What would cause an otherwise well-behaved table to start doing this? Is
> this just a "dead spot" in the ANALYZE command? (By which I mean:
> ANALYZE randomly sampling rows, but my data is not terribly random, so
> it gets fooled?)
7.4's ANALYZE is indeed easily fooled by nonuniform tuple density.
8.0 uses a different sampling algorithm that we hope will do better.
> [And here's the remaining question in my puzzled mind: ANALYZE would not
> change the reltuples value, but VACUUM FULL ANALYZE did. Er-wha?]
Any variant of VACUUM records the exact number of tuples that it found
in its full table scan in reltuples. It's only a standalone ANALYZE
that has to approximate.
The case where you saw reltuples > count(*) probably came from the fact
that VACUUM counts physical tuples --- that is, the difference reflects
dead-but-not-yet-removable tuples.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Chris Browne | 2005-05-18 20:15:37 | Re: Sidetracking pg_autovacuum |
Previous Message | Jeff Boes | 2005-05-18 18:32:07 | Sidetracking pg_autovacuum |