Adding ON UPDATE CASCADE to an existing foreign key constraint
I have a foreign key constraint that I'd like to alter. I'd rather not
drop and re-create it due to the size of the table involved. All I need
to do is add an ON UPDATE CASCADE.
Is it ok to set confupdtype to 'c' in pg_constraint (and will this be
all that's needed) or is it safer to drop and recreate the constraint?
PG Version 8.0.3
Thanks a lot
- Rich Doughty
On Thu, 4 May 2006, Rich Doughty wrote:
I have a foreign key constraint that I'd like to alter. I'd rather not
drop and re-create it due to the size of the table involved. All I need
to do is add an ON UPDATE CASCADE.Is it ok to set confupdtype to 'c' in pg_constraint (and will this be
all that's needed) or is it safer to drop and recreate the constraint?
I don't think that's going to work, you'd probably need to change the
function associated with the trigger involved too. It's probably safer to
do the drop and create.
Moving to -hackers...
On Thu, May 04, 2006 at 09:17:31AM -0700, Stephan Szabo wrote:
On Thu, 4 May 2006, Rich Doughty wrote:
I have a foreign key constraint that I'd like to alter. I'd rather not
drop and re-create it due to the size of the table involved. All I need
to do is add an ON UPDATE CASCADE.Is it ok to set confupdtype to 'c' in pg_constraint (and will this be
all that's needed) or is it safer to drop and recreate the constraint?I don't think that's going to work, you'd probably need to change the
function associated with the trigger involved too. It's probably safer to
do the drop and create.
It would be nice if there was a way to do this that didn't involve
re-validating all the data. Can this be added as a TODO?
--
Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461
Stephan Szabo wrote:
On Thu, 4 May 2006, Rich Doughty wrote:
I have a foreign key constraint that I'd like to alter. I'd rather not
drop and re-create it due to the size of the table involved. All I need
to do is add an ON UPDATE CASCADE.Is it ok to set confupdtype to 'c' in pg_constraint (and will this be
all that's needed) or is it safer to drop and recreate the constraint?I don't think that's going to work, you'd probably need to change the
function associated with the trigger involved too. It's probably safer to
do the drop and create.
ok, thanks.
--
- Rich Doughty