On Wed, 2 Apr 2008, chester c young wrote:

> it appears I have a broken RI in my db.
>
> call_individual.clh_id references call_household.clh_id
>
> \d call_individual
> ...
> Foreign-key constraints:
>     "call_individual_clh_id_fkey" FOREIGN KEY (clh_id) REFERENCES
> call_household(clh_id) ON DELETE CASCADE
>
> however:
> development=# select clh_id from call_individual cli where not exists(
> select 1 from call_household clh where clh.clh_id=cli.clh_id );
>  clh_id
> --------
>   14691
>
> should not matter, but call_individual has a pre-delete trigger that
> simply raises an exception to prevent deletions:
>         raise exception 'calls may not be deleted';

Yeah, that looks pretty broken. Can you reproduce this from a clean start
repeatedly or is this a one off? Do you ever turn off triggers, perhaps by
modifying the pg_class row's reltriggers (I'd guess the answer is no, but
it'd be good to make sure)?


-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to