Re: foreign key check - Mailing list pgsql-novice

From Tom Lane
Subject Re: foreign key check
Date
Msg-id 13158.1182217148@sss.pgh.pa.us
Whole thread Raw
In response to foreign key check  (David Gardner <david@gardnerit.net>)
List pgsql-novice
David Gardner <david@gardnerit.net> writes:
> I have two tables t1, and t2 where t2.fid is a foreign key reference to
> t1.id. Except in this case only a subset of the values in t1 are valid,
> the values in t1 that are valid can be found by doing a:
> SELECT t1.id JOIN t3 ON t3.id = t1.id
> Is there some way to add this in as a check constraint?

Nothing that would be reliable in the face of concurrent changes to
the third table --- unless you're willing to take out exclusive locks,
which will create performance issues as well as (probably) deadlock
problems.

I suggest thinking about how to refactor your schema to avoid this
situation.

            regards, tom lane

pgsql-novice by date:

Previous
From: David Gardner
Date:
Subject: foreign key check
Next
From: Michael Glaesemann
Date:
Subject: Re: foreign key check