Stephan Szabo <[EMAIL PROTECTED]> writes: > On 28 Aug 2003, Gregory Stark wrote: >> It seems when you create a new table with the "references" syntax the >> constraint is created with a dependency specifically on a "primary key" >> constraint on the target table. >> >> However when you alter a table to add a foreign key constraint the constraint >> is added with a dependency on any unique index on the column -- not >> necessarily a primary key constraint.
> Well, it shouldn't be limited to a primary key constraint (you must be > able to reference a non-primary key unique constraint). AFAICT the difference is not whether you create the FK constraint during table creation or add it later (in fact, the same code is executed either way). The difference in Greg's example is that he said "REFERENCES test" in one case and "REFERENCES test(a)" in the other. The first syntax is specifically a dependency on the primary key, the second is not. I suppose we could tweak the code to prefer a primary key when there are multiple matching indexes, but I don't see the point. Having multiple identical indexes is silly anyway. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly