Como faço para impor exclusividade de conjunto entre várias colunas? [duplicado]

Esta questão já tem uma resposta aqui:

restrição exclusiva do sql em uma combinação de 2 colunas 3 respostas

Não tenho certeza se formulei a pergunta corretamente, então tentarei uma explicação mais longa. Eu tenho esse tipo de mesa:

CREATE TABLE x (a int, b int);

Eu quero considerar o par (a, b) como sendo idêntico a (b, a) e não permitir a inserção de duplicatas. Se o PostgreSQL tivesse umset tipo de dados, eu poderia declarar a tabela assim:

CREATE TABLE x (
    ab set,
    UNIQUE (ab)
);

Mas isso não acontece, então qual é a melhor maneira de fazer isso?

questionAnswers(2)

yourAnswerToTheQuestion