sql >> Base de Datos >  >> RDS >> PostgreSQL

Postgresql impone una combinación única de dos vías de columnas

Una variación de la solución de Neil que no necesita extensión es:

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));

Sin embargo, la solución de Neil te permite usar un número arbitrario de columnas.

Ambos confiamos en el uso de expresiones para construir el índice que está documentado https://www.postgresql.org/docs/current/indexes-expressional.html