Вы можете преобразовать массивы json в обычные и использовать оператор массива && .Вам нужна простая функция:
create or replace function to_text_array(jsonb)
returns text[] language sql immutable as $$
select array(select jsonb_array_elements_text($1))
$$;
Пример:
with my_table(arr1, arr2) as (
values
('["foo", "bar", "baz"]'::jsonb, '["qux", "bar"]'::jsonb),
('["foo", "bar", "baz"]', '["qux", "quz"]')
)
select *, to_text_array(arr1) && to_text_array(arr2) as match
from my_table
arr1 | arr2 | match
-----------------------+----------------+-------
["foo", "bar", "baz"] | ["qux", "bar"] | t
["foo", "bar", "baz"] | ["qux", "quz"] | f
(2 rows)