PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

O Postgresql impõe uma combinação bidirecional exclusiva de colunas


Uma variação da solução de Neil que não precisa de extensão é:
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));

A solução de Neil permite que você use um número arbitrário de colunas.

Nós dois estamos contando com o uso de expressões para construir o índice que está documentado https://www.postgresql.org/docs/current/indexes-expressional.html