Skip site navigation (1) Skip section navigation (2)

Re: reltuples value less than rows in the table.

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "parul" <i(dot)parultyagi(at)gmail(dot)com>, <pgsql-performance(at)postgresql(dot)org>
Subject: Re: reltuples value less than rows in the table.
Date: 2011-08-25 14:43:46
Message-ID: 4E561952020000250004030B@gw.wicourts.gov (view raw or flat)
Thread:
Lists: pgsql-performance
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:
 
http://www.postgresql.org/docs/9.0/interactive/catalog-pg-class.html
 
To quote:
 
| 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.
 
http://wiki.postgresql.org/wiki/SlowQueryQuestions
 
-Kevin

In response to

pgsql-performance by date

Next:From: Tasdassa AsdasdaDate: 2011-08-29 09:13:39
Subject: Performance with many updates
Previous:From: MirrorXDate: 2011-08-25 00:32:35
Subject: Re: How to track number of connections and hosts to Postgres cluster

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group