The following bug has been logged online:
Bug reference: 5113
Logged by: dan
Email address: dan.boeriu@roost.com
PostgreSQL version: 8.4.1
Operating system: redhat 5.3
Description: Postgres not scanning indexes
Details:
Let's say I have a table t with 5 columns c1 NOT NULL, c2 NOT NULL, c3, c4,
c5
and I have a UNIQUE index on (c1, c2) (remember c1 and c2 have a not null
constraint)
When I run the query:
select c1,c2 from t
I expect the explain to say index scan; instead it says table scan.
The index has ALL the info I need and in my case is about 2% the size of the
table. Why is Postgres still choosing to do a full table scan? The same
applies to a primary key - if (c1, c2) is the primary key then I expect:
select c1,c2 from t
to scan only the index - instead it scans the table