Мне изначально надо было объекты json сравнивать, но раз нельзя, то буду каждое поле отдельно сравнивать и всё.
зачем каждое поле, равенство это когда оба входят друг в друга.
@> jsonb Левое значение JSON содержит на верхнем уровне путь/значение JSON справа? '{"a":1, "b":2}'::jsonb @> '{"b":2}'::jsonb
у вас по идее js1@>js2 and js2@>js1