On Wed, Apr 18, 2012 at 12:40 PM, Emanuel Calvo <postgres.arg@gmail.com> wrote:
>> I'm not sure what you're unhappy about. It seems that the query
>> planner picked the fastest plan (a sequential scan) and then when you
>> disabled that it picked the second-fastest plan (an index-only scan).
>>
>> The index-only scan would have a chance of beating the sequential scan
>> if the table had been recently vacuumed, but not in the case where
>> every row is going to require a heap fetch.
>
> Oh, I see now. Honestly, I thought it wasn't necessary to make a heap
> fetch. The table
> doesn't have any modifications, but with the vacuum the cost changed.
Ah, I see. Yeah, I think you're not going to be the first person to
not realize that, especially since we haven't changed the rules for
autovacuuming, and therefore you can't count on autovac to correct the
problem for you. :-(
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company