Teodor Sigaev <teodor@sigaev.ru> wrote:
> ... So, if index is defined as 'using gist (a,b,c)' then, in
> principle, GiST index can speed up queries like 'a=V1 and c=V2'. But
> it will not usable for queries ( b=V3 and c=V2 ). By the way, instead
> of '=' operation may be used other operations. Number of supported
> operations by GiST is indefinite unlike, for example, btree which
> supported only five: <, <=, =, =>, >.
I have committed changes to the planner to arrange that a GiST indexscan
must supply at least one restriction clause for the first index column,
and can supply restriction clauses for any, all, or none of the
remaining columns; the old left-to-right heuristic is gone.
As far as I can tell, this doesn't require any changes to the GiST code,
but please take another look if you aren't too sure about it.
regards, tom lane