Re: Adding "on delete cascade" after table creation ?

From: Tino Wildenhain <tino(at)wildenhain(dot)de>
To: Peter Alberer <h9351252(at)obelix(dot)wu-wien(dot)ac(dot)at>, 'Stephan Szabo' <sszabo(at)megazone23(dot)bigpanda(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Adding "on delete cascade" after table creation ?
Date: 2002-09-26 11:25:25
Message-ID: 8791581.1033046725@liza
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Peter,

yes, this would work. (But I hope you have a backup if you fiddle
with system tables ;)
We were able to drop a reference to a not existent table this way.

In 7.3 we can use ALTER TABLE ... DROP CONSTRAINT ...
:))

Regards
Tino

--On Donnerstag, 26. September 2002 12:15 +0200 Peter Alberer
<h9351252(at)obelix(dot)wu-wien(dot)ac(dot)at> wrote:

> From looking at the techdocs document i got the impression that I simply
> need to change the value of "tgfoid" in pg_trigger from "1654"
> (RI_FKey_noaction_del) to "1646" (RI_FKey_cascade_del). Is this correct?
>
>> -----Ursprüngliche Nachricht-----
>> Von: Stephan Szabo [mailto:sszabo(at)megazone23(dot)bigpanda(dot)com]
>> Gesendet: Donnerstag, 19. September 2002 17:06
>> An: Peter Alberer
>> Cc: pgsql-general(at)postgresql(dot)org
>> Betreff: Re: [GENERAL] Adding "on delete cascade" after table creation
> ?
>>
>>
>> On Thu, 19 Sep 2002, Peter Alberer wrote:
>>
>>> Hi there,
>>>
>>> i have a table that SHOULD look like this:
>>>
>>> create table lr_object_usage (
>>> lr_object_usage_id integer
>>> constraint
>>> lr_object_usage_lr_object_usage_id_pk
>>> primary key,
>>> lr_object_id integer
>>> constraint
> lr_object_usage_lr_object_id_fk
>>> references lr_objects(lr_object_id)
>>> on delete cascade,
>>> access_time timestamp,
>>> user_id integer
>>> constraint lr_object_usage_user_id_fk
>>> references users(user_id),
>>> status varchar(11),
>>> context integer
>>> constraint lr_object_usage_context_fk
>>> references
>>> lr_object_usage(lr_object_usage_id)
>>> ___ON DELETE CASCADE___
>>> );
>>>
>>> unfortunately i think that the table was created without the delete
>>> cascade in the last line (for the constraint
>>> lr_object_usage_context_fk). Is it somehow possible to add the delete
>>> cascade without recreating the table?
>>
>> You'll probably have to manually remove the triggers for the foreign
>> key constraint (see techdocs.postgresql.org's fk primers for info) and
>> then use alter table add constraint.
>>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Andriy Tkachuk 2002-09-26 12:11:55 query speed depends on lifetime of frozen db?
Previous Message Shridhar Daithankar 2002-09-26 10:23:50 Re: two databases