Monday, September 8, 2008

[pgsql-fr-generale] Pas de contrainte référentielle vers un champ non-UNIQUE :-(

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 ?

--
Sent via pgsql-fr-generale mailing list (pgsql-fr-generale@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-fr-generale

No comments: