Вариант на решението на Нийл, който не се нуждае от разширение, е:
create table friendz (
from_id int,
to_id int
);
create unique index ifriendz on friendz(greatest(from_id,to_id), least(from_id,to_id));
Решението на Нийл ви позволява да използвате произволен брой колони.
И двамата разчитаме на използването на изрази за изграждане на индекса, който е документиран https://www.postgresql.org/docs/current/indexes-expressional.html