> 1. index_getprocid (backend/access/index/idexam.c) doesn't
> properly supports multi-keys indexes with procnum > 1
> it's works only if either procnum=1 (B-tree, hash) or attnum=1
It looks to me like IndexSupportInitialize and index_getprocid have
different ideas about whether procnum or attnum is the major index
of the array :-(. Change one or the other.
> We didn't find a place where this number is stored in the index structure.
indexRelation->rd_am->amsupport, cf. InitIndexStrategy.
> In third example with multi-key index we
> forced to use 'with (islossy)' for all index even if select will
> use index by first attribute (b gist_box_ops) which is a not right
> thing.
islossy is a per-index attribute, not a per-column attribute. I don't
think it makes sense to define it any other way. If any one of the
columns is stored in a lossy fashion, then the index is lossy.
regards, tom lane