Re: ON DELETE CASCADE - Mailing list pgsql-sql

From Tim Perdue
Subject Re: ON DELETE CASCADE
Date
Msg-id 3DFD3A94.20102@perdue.net
Whole thread Raw
In response to Re: ON DELETE CASCADE  ("Marie G. Tuite" <marie.tuite@edisonaffiliates.com>)
List pgsql-sql
Marie G. Tuite wrote:
> Here is a function that I use to list fk(triggers) on a table.  Execute the
> function to get the trigger name and then - drop trigger "trigger_name" on
> table_name;

Thanks for the function. Strangely enough, it appears the "extra" 
triggers are gone all by themselves. It seems postgres appropriately 
deletes or updates the old triggers when you alter the table the second 
time, even if you did not drop the prior triggers.

>>I'm trying to comb through my database and add ON DELETE CASCADE to a
>>number of tables where I already have fkeys in place, but I'm having a
>>hard time.
>>
>>ALTER TABLE project_task DROP CONSTRAINT
>>"project_task_group_project_id_f" RESTRICT;
>>
>>ERROR:  ALTER TABLE / DROP CONSTRAINT: project_task_group_project_id_f
>>does not exist
>>
>>ALTER TABLE project_task
>>    ADD CONSTRAINT projecttask_groupprojectid_fk
>>    FOREIGN KEY (group_project_id)
>>    REFERENCES project_group_list(group_project_id) ON DELETE CASCADE;
>>NOTICE:  ALTER TABLE will create implicit trigger(s) for FOREIGN KEY
>>check(s)
>>ALTER
>>
>>That command works, but now I think I have 2x as many triggers as I
>>want. How do I get rid of the original triggers?




pgsql-sql by date:

Previous
From: Bret Hughes
Date:
Subject: Re: UPDATE comparing dates and non-dates data
Next
From: Robert Treat
Date:
Subject: working around setQuerySnapshot limitations in functions