Nota sobre foreign key em banco de dados PostgreSQL

image_pdfimage_print

Chaves estrangeiras em PostgreSQL devem referenciar colunas que são chaves primárias (primary key) ou uma contraint unique, seja com uma coluna ou uma chave de colunas.

Um erro comum quando se viola esta regra é o abaixo apresentado:

ERROR: there is no unique constraint matching given keys for referenced table

Este erro ocorreu porque não foi possível criar a Foreign Key.

A regra para poder declarar um chave estrageira é:

  1. A foreign key deve referenciar um primary key ou uma constraint unique
  2. Os dois campos a serem relacionados devem ter um tipo de dados compartíveis
  3. O usuário / role deve ter o privilégio REFERENCES em ambas as tabelas afetadas
Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!