Teodor Sigaev <teodor(at)sigaev(dot)ru> writes:
> [ planner prefers ]
> -> Seq Scan on foo (cost=0.00..5805.00 rows=4907 width=0)
> to
> -> Bitmap Heap Scan on foo (cost=942.46..5755.08 rows=4907 width=0)
> Why does pgsql choose seqscan (5817.28) instead of bitmap one (5767.36)?
There's a fuzz factor of (IIRC) 1% in path cost comparisons. It's
deciding that the seqscan and bitmapscan total costs are not
meaningfully different; then since the startup costs *are* meaningfully
different, it's making the choice on the basis of cheaper startup cost.
regards, tom lane