Deferred Constraints Issues

From: kevin kempter <kevin(at)kevinkempterllc(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Deferred Constraints Issues
Date: 2008-03-25 20:10:07
Message-ID: B9831791-E41D-4382-A6B4-35A28BA5B02E@kevinkempterllc.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hi List;

I've placed this sql in a script:

psql my_db <<!
begin;
SET CONSTRAINTS ALL DEFERRED ;
delete from account where 1 = 1;
delete from cust where 1 = 1;
delete from cust_type where 1 = 1;
delete from cust_orders where 1 = 1;
commit;
!

The tables have relationships, however I expect the 'SET CONSTRAINTS
ALL DEFERRED' to defer constraint checks. When I run the script I get
this:

BEGIN
SET CONSTRAINTS
ERROR: update or delete on table "account" violates foreign key
constraint "account_rel" on table "cust_type"
DETAIL: Key (account_id)=(1) is still referenced from table
"cust_type".
ERROR: current transaction is aborted, commands ignored until end of
transaction block
ERROR: current transaction is aborted, commands ignored until end of
transaction block
ERROR: current transaction is aborted, commands ignored until end of
transaction block
ROLLBACK

Am I doing something wrong ? Or, is the 'SET CONSTRAINTS ALL DEFERRED'
not working properly ?

Thanks in advance...

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Stephan Szabo 2008-03-25 20:27:00 Re: Deferred Constraints Issues
Previous Message Marc Fromm 2008-03-25 19:31:57 restore message . . . cascade