Re: [SQL] foreign key, create table, and transactions

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Jeffrey Green <jng15(at)columbia(dot)edu>
Cc: <pgsql-sql(at)postgresql(dot)org>, <pgsql-novice(at)postgresql(dot)org>
Subject: Re: [SQL] foreign key, create table, and transactions
Date: 2002-10-18 18:18:22
Message-ID: 20021018111126.Y26317-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice pgsql-sql

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.

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message János Löbb 2002-10-18 22:12:37 What is the right external type in EOModeler for an internal type integer ?
Previous Message Tom Lane 2002-10-18 14:11:01 Re: Vacuum question

Browse pgsql-sql by date

  From Date Subject
Next Message Jean-Luc Lachance 2002-10-18 18:24:07 Re: date
Previous Message Tom Lane 2002-10-18 18:03:12 Re: Locking that will delayed a SELECT