Pas de contrainte référentielle vers un champ non-UNIQUE :-(

From: Stephane Bortzmeyer <bortzmeyer(at)nic(dot)fr>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Pas de contrainte référentielle vers un champ non-UNIQUE :-(
Date: 2008-09-08 14:56:35
Message-ID: 20080908145635.GA14047@nic.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

J'essaie de mettre une contrainte référentielle mais le champ visé n'a
pas été déclaré comme UNIQUE :

essais=> CREATE TABLE Foo(name TEXT NOT NULL);
CREATE TABLE
essais=> CREATE TABLE Bar(truc TEXT, machin TEXT REFERENCES Foo(name));
ERROR: there is no unique constraint matching given keys for referenced table "foo"

[Si Foo(name) est déclaré UNIQUE, cela passe.]

Première question : pourquoi PostgreSQL 8.3 impose t-il cette
contrainte supplémentaire qui ne me semble pas logique ?

Deuxième question : quel contournement utiliser à part abandonner la
sécurité que me fournit REFERENCES ?

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Jean-Samuel Reynaud 2008-09-08 15:16:30 Re: Pas de contrainte référentielle vers un champ non-UNIQUE :-(
Previous Message Thibaut LE LEVIER 2008-09-05 11:04:00 Re: pg_hba.conf