"Jim C. Nasby" <jim(at)nasby(dot)net> writes:
> Well, it would only need to make the checks if the table had partial
> indexes. Even then, it probably makes sense to only do the check if
> other query planning steps decide it would be useful to use the partial
> index.
You have that backwards. Planning is bottom-up, so we have to determine
the relevant indexes *first*. Accordingly, a partial index is a
performance drag on every query that uses its table, as we check to
see if the partial index qual is satisfied by the query's WHERE clause.
That's why I don't want it to be any slower than it is ...
regards, tom lane