Is VACUUM in 8.x supposed to be overestimating reltuples by 50% of
the number of dead tuples?
CREATE TABLE foo (x integer);
INSERT INTO foo SELECT * FROM generate_series(1, 1000);
UPDATE foo SET x = x;
UPDATE foo SET x = x;
UPDATE foo SET x = x;
VACUUM foo;
SELECT relpages, reltuples FROM pg_class WHERE relname = 'foo';
relpages | reltuples
----------+-----------
22 | 2500
Another VACUUM at this point brings reltuples back to the actual
number of rows in the table:
VACUUM foo;
SELECT relpages, reltuples FROM pg_class WHERE relname = 'foo';
relpages | reltuples
----------+-----------
22 | 1000
Is this intentional?
--
Michael Fuhr
http://www.fuhr.org/~mfuhr/