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

Chaves estrangeiras + herança de tabelas no PostgreSQL?


É coberto no manual do usuário .

A versão curta:você pode usar chaves estrangeiras ou herança de tabela, mas não ambas. Isso não é inerentemente impossível, é apenas que é tecnicamente muito difícil implementar índices únicos que abrangem tabelas herdadas no PostgreSQL de maneira rápida e confiável. Sem isso, você não pode ter uma chave estrangeira útil. Ninguém o implementou com sucesso o suficiente para que um patch adicionando suporte seja aceito no PostgreSQL ainda.

Uma chave estrangeira pode apontar para uma tabela que faz parte de uma hierarquia de herança, mas só encontrará linhas nessa tabela exatamente . Não em nenhuma tabela pai ou filho. Para ver quais linhas a chave estrangeira vê, faça um SELECT * FROM ONLY thetable . O ONLY palavra-chave significa "ignorar herança" e é isso que a pesquisa de chave estrangeira fará.