Re: Possible problems with cyclic references

From: Gary Stainburn <gary(dot)stainburn(at)ringways(dot)co(dot)uk>
To: Jan Wieck <JanWieck(at)Yahoo(dot)com>
Cc: pgsql-sql <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Possible problems with cyclic references
Date: 2001-07-23 14:26:31
Message-ID: 01072315263207.27033@gary.ringways.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi Jan,

Thanks for the additional info. I did, having already posted the msg, tru to
create the references, but found that it would not let me do that as I was
trying to create a reference to a table that didn't exist yet.

I ended up setting up a one-way reference, running pg_dump to see how to set
up the reference after creating the tables (it uses create triggers), and
then changing/adding these lines to my create script.

Your way seems much nicer.

Gary

On Monday 23 July 2001 3:18 pm, Jan Wieck wrote:
> Gary Stainburn wrote:
> > Hi all, me again.
> >
> > I've been looking at the doc's again (must stop doing that!)
> >
> > I've been looking at the 'references' clause to implement referential
> > integrity. My problem is that I'm wanting to create a cyclic reference,
> > and was wondering what problems this may cause, e.g. when restoring from
> > a pg_dump.
> >
> > I have a region table (rregion character(2), rname varchar(40), rliasson
> > int4).
> > I have a teams table (ttid int4, tregion character(2) references
> > region(rregion),...)
> > I have a members table (mid int4, mteam references teams(tid),.........)
> >
> > Pretty straight forward so far, a member must be a part of a team and a
> > team must be in a region. My problem is that I want to set rliasson as a
> > reference to members (mid) as the Regional Liasson Officer for each
> > region is a member.
>
> No problem. pg_dump outputs commands to disable referential
> integrity checks during the restore.
>
> And you could even make rliasson NOT NULL. All you have to do
> then is to have the constraints INITIALLY DEFERRED and insert
> all the cyclic rows in one transaction.
>
> Add the constraint to the region table with ALTER TABLE after
> creating the members table.
>
>
> Jan
>
> --
>
> #======================================================================#
> # It's easier to get forgiveness for being wrong than for being right. #
> # Let's break this rule - forgive me. #
> #================================================== JanWieck(at)Yahoo(dot)com #
>
>
>
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com

--
Gary Stainburn

This email does not contain private or confidential material as it
may be snooped on by interested government parties for unknown
and undisclosed purposes - Regulation of Investigatory Powers Act, 2000

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Karl Orbell 2001-07-23 14:27:15 position(text,text) function
Previous Message Jan Wieck 2001-07-23 14:18:27 Re: Possible problems with cyclic references