Re: 7.4 - TODO : alter table drop foreign key - Mailing list pgsql-hackers

From Fernando Nasser
Subject Re: 7.4 - TODO : alter table drop foreign key
Date
Msg-id 3DEFA62E.6020806@redhat.com
Whole thread Raw
In response to Re: 7.4 - TODO : alter table drop foreign key  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Responses Re: 7.4 - TODO : alter table drop foreign key
List pgsql-hackers
Dan Langille wrote:> On 5 Dec 2002 at 11:47, Dan Langille wrote:
> 
>>Primary key: watch_list_staging_pkey
>>Check constraints: "watch_list_stag_from_watch_list" 
>>((from_watch_list = 't'::bool) OR (from_watch_list = 'f'::bool))
>>                   "watch_list_stagin_from_pkg_info" ((from_pkg_info 
>>= 't'::bool) OR (from_pkg_info = 'f'::bool))
>>Triggers: RI_ConstraintTrigger_4278482,
>>          RI_ConstraintTrigger_4278488
>>
>>No mention of FK constraints.
> 
> 
> Found the solution:
> 
> drop trigger "RI_ConstraintTrigger_4278488" on watch_list_staging;
> 

You should now go to the table this RI constraint was referring to and delete 
the two triggers in there as well.  They will still be checking for deletions 
and updates.  Look for something like
RI_ConstraintTrigger_4278490
RI_ConstraintTrigger_4278492
and with the associated procedure RI_FKey_noaction_del and RI_FKey_noaction_upd


BTW, the rhdb-admin program can drop the constraints for you, even the unnamed 
ones on backends 7.2 up.  You can download it from:

http://sources.redhat.com/rhdb

Of course, now that you broke the set of triggers for this FK constraint you'll 
still need to drop the other ones by hand.  But the tool at least will show you 
the column and table involved so it will be easier to identify the two you have 
to get rid of.


Regards,
Fernando




-- 
Fernando Nasser
Red Hat - Toronto                       E-Mail:  fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario   M4P 2C9



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: big text field -> message type 0x44
Next
From: Tom Lane
Date:
Subject: Re: [GENERAL] PostgreSQL Global Development Group Announces