Jan Behrens <jbe@xxxxxxxxxxxxxxxxxxxxxxxxx> writes: > However, the GiST index seems not to work as expected by me when > 64-bit integers are involved. I tried to create a minimal > proof-of-concept to demonstrate this. Consider the following setup: > CREATE TABLE test8_gist (id SERIAL4, ctx INT8); > CREATE INDEX ON test8_gist USING gist (ctx, id); > EXPLAIN SELECT * FROM test8_gist WHERE ctx = 1 AND id = 2; > -- uses Index Cond: (id = 2) > The query planning for the select on table "test8_gist" does not > include "ctx" in the "Index Cond". Probably it would if you'd written "WHERE ctx = 1::int8". Without the cast, what you'll have is "int8 = int4", and I suspect that btree_gist doesn't include cross-type operators in its opclasses. regards, tom lane