On Fri, 11 Oct 2002, Jeffrey Green wrote:
> > Hello. I was wondering if anybody's run across the problem of
> > creating tables with foreign key constraints out of order. What I
> > mean by this is that say I want a table called <pictures> that has a
> > foreign key reference to a table <people>. If I define pictures
> > before table, I keep getting an error (Relation "people" doesn't
> > exist). I tried to group them into a transaction with
> >
> > BEGIN;
> > SET CONSTRAINTS ALL DEFERRED;
> >
> > CREATE TABLE pictures...
> >
> > CREATE TABLE people...
> >
> > COMMIT;
> >
> > But still no. Is it a requirement of postgres that all creates
> > essentially be "in order" when there are foreign key constraints?
Yes. The check for the fact that the constraint is valid (as opposed to
the check that the data is valid) is immediate. You can use alter table
add constraint to add the foreign key constraint after the second table
is created however.