parul <i(dot)parultyagi(at)gmail(dot)com> wrote:
> I have a index in a table. The value of the reltuples value in the
> pg_class table for this index is less than the number of rows in
> the table where the index is present.
> For eg. if i have 800 rows in the table , the reltuples in the
> pg_class for the index show the value as 769.
> What are the scenarios under which this kind of behaviour occurs?
The fine manual explains it here:
| Number of rows in the table. This is only an estimate used by the
| planner. It is updated by VACUUM, ANALYZE, and a few DDL commands
| such as CREATE INDEX.
Other operations which affect the number of rows in the table won't
change this column, so it can be off by a bit until the next
autovacuum or explicit operation which sets a new estimate.
> Also iam not able to execute the queries involving the indexed
> column in the where clause.
Are you saying that you expect that a plan would have been chosen
which would have used the index, but it is choosing some other plan?
If so, your best bet is to present the actual query.
In response to
pgsql-performance by date
|Next:||From: Tasdassa Asdasda||Date: 2011-08-29 09:13:39|
|Subject: Performance with many updates|
|Previous:||From: MirrorX||Date: 2011-08-25 00:32:35|
|Subject: Re: How to track number of connections and hosts to Postgres