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

Índice exclusivo sobre partições postgresql


Este é o comportamento atual do PostgreSQL. Índices exclusivos abordam a partição, não a tabela como um todo. Você tem poucas opções:

  1. Se possível, particione suas tabelas para que os intervalos de chaves sejam exclusivos de alguma forma. Em outras palavras, particione em dados de chave. Esta é a abordagem mais fácil e sem complicações. Aqui você está particionando em dados não-chave, o que é um problema.

  2. Se isso não funcionar, você pode adicionar o valor da partição ao outro lado da junção. Observe que, neste ponto, você precisa de gatilhos fkey personalizados.

  3. Se você realmente precisar, você pode criar uma visualização materializada mantida por gatilho de todos os ids e criar um índice exclusivo sobre isso.