BUG #8598: Row count estimates of partial indexes - Mailing list pgsql-bugs

From marko@joh.to
Subject BUG #8598: Row count estimates of partial indexes
Date
Msg-id E1Vi1ve-0005cP-Ax@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #8598: Row count estimates of partial indexes  (Kevin Grittner <kgrittn@ymail.com>)
Re: BUG #8598: Row count estimates of partial indexes  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      8598
Logged by:          Marko Tiikkaja
Email address:      marko@joh.to
PostgreSQL version: 9.1.9
Operating system:   Linux
Description:

Hi,


We have the following partial index on a small subset of a larger table:


  "index_transactions_transaction_balance_details" btree (transactionid)
WHERE NOT processed AND accountbalancesdailyid IS NOT NULL


However, querying with the WHERE clause completely ignores the
pg_class.reltuples value for the index:


=# EXPLAIN ANALYZE SELECT * FROM transactions WHERE NOT processed AND
accountbalancesdailyid IS NOT NULL;

      QUERY PLAN


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Index Scan using index_transactions_transaction_balance_details on
transactions  (cost=0.00..3883160.47 rows=66259403 width=130) (actual
time=0.033..18.268 rows=13962 loops=1)
 Total runtime: 18.874 ms
(2 rows)


.. which makes for some silly joins when this index is part of a larger
query.


Is this expected on 9.1?  Has this been fixed in more recent versions?

pgsql-bugs by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: Use of MD5
Next
From: Kevin Grittner
Date:
Subject: Re: BUG #8598: Row count estimates of partial indexes