create table sint1(k int primary key, arr smallint[]); create index s1 on sint1(arr); insert into sint1 select s, array[s*s, s] FROM generate_series(1, 10) AS s; select * from sint1 where arr @> array[4]; ERROR: operator does not exist: smallint[] @> integer[] LINE 1: select * from sint1 where arr @> array[4]; ^ HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
-------
I wonder if someone can enlighten me on the correct way to perform the type cast.