"Rodrigo Hjort" <rodrigo(dot)hjort(at)gmail(dot)com> writes:
> What happens is that only the "004" block uses the index! The "002" code,
> which also has no leading percent, does a sequential scan. The difference
> between them is that "002" uses bind parameters.
Yeah. The LIKE index optimization depends on seeing a constant LIKE
pattern at plan time --- otherwise the planner doesn't know what
indexscan parameters to generate. So a bound-parameter query loses.
Ideas for improving this situation are welcome ... it's not an easy
problem ...
regards, tom lane