Re: Number of tuples in pg_class - bug or misunderstanding? - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: Number of tuples in pg_class - bug or misunderstanding?
Date
Msg-id 200005111512.LAA11713@candle.pha.pa.us
Whole thread Raw
In response to Number of tuples in pg_class - bug or misunderstanding?  (Martin Neumann <mne@mne.de>)
List pgsql-bugs
> I'm just digging a little bit in PostgreSQL internals and I found the
> following thing. Shouldn't the reltuples field in pg_class contain the
> real number of tuples? It is always a little bit to low ...
>
> irc=# SELECT reltuples FROM pg_class WHERE relname = 'events';
>  reltuples
> -----------
>        188
> (1 row)
>
> irc=# SELECT COUNT(*) FROM events;
>  count
> -------
>    195
> (1 row)
>
>
> This annoys me a little bit as I can do
>   SELECT reltuples FROM pg_class WHERE relname = $1;
> from plpgsql, but not
>   SELECT COUNT(*) FROM $1;

reltuples is updated only by VACUUM.  The performance hit is too great
to keep it up-to-date, we think, though if it was accurate, we could
optimize COUNT(*) with no WHERE.

--
  Bruce Momjian                        |  http://www.op.net/~candle
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

pgsql-bugs by date:

Previous
From: Denis Sbragion
Date:
Subject: Small bug with numeric in 7.0 (also in 6.5.3)
Next
From: Tom Lane
Date:
Subject: Re: Small bug with numeric in 7.0 (also in 6.5.3)