En variant af Neils løsning, som ikke behøver en udvidelse, er:
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));
Neils løsning lader dig dog bruge et vilkårligt antal kolonner.
Vi er begge afhængige af at bruge udtryk til at bygge indekset, som er dokumenteret https://www.postgresql.org/docs/current/indexes-expressional.html