Możesz utworzyć indeks na wyrażeniu, w tym przypadku least() i greatest() :
create unique index idx_obj1_obj2 on table(least(Object1, Object2), greatest(Object1, Object2));
Uwaga:jest jedna drobna dziwność, jeśli kolumny zezwalają na NULL wartości. W takim przypadku ta sama wartość byłaby dozwolona tylko raz, niezależnie od kolumny, w której się znajduje. Można to naprawić za pomocą bardziej skomplikowanego wyrażenia, jeśli faktycznie stanowi to problem.