alter table command lets you do quite a bit. But when it comes to
altering existing constraints, there is not much you can do. If you want to
on delete cascade to an existing foreign key constraint, you are
going to need two statements.
The first statement will drop the constraint and the second statement will
recreate it with the addition of the
on delete clause. Furthermore, you’ll
want to do this in a transaction to ensure the integrity of your data during
the transition between indexes.
Here is an example:
begin; alter table orders drop constraint orders_customer_id_fkey; alter table orders add constraint orders_customer_id_fkey foreign key (customer_id) references customers (id) on delete cascade; commit;