<pejac@altern.org> writes:
> an doesn't work with select * from test where id < 45.
> EXPLAIN
> Seq scan on test
The system doesn't believe that WHERE clause is selective enough to be
efficiently done as an indexscan. An indexscan will be slower than a
seqscan unless it is able to visit just a small fraction of the rows
in the table, and a one-sided inequality doesn't guarantee that.
If 45 happens to be near the bottom of the range of ID values in this
table, then indeed an indexscan might be a reasonable implementation.
But the planner won't know the range of values unless you've done a
VACUUM ANALYZE on this table.
regards, tom lane