Postgres(およびその他のRDBM)では、カスケード更新は外部キーにのみ適用されます。例:
create table groups (
group_id int primary key
);
create table users (
user_id int primary key,
group_id int references groups on update cascade
);
insert into groups values (1);
insert into users values (1, 1);
update groups set group_id = 10 where group_id = 1;
select * from users;
user_id | group_id
---------+----------
1 | 10
(1 row)
実際、他のオプションは必要ありません。外部キーではない列に対してこれを行う必要があると思われる場合は、モデルの設計が不十分であることを意味します(正規化 )。一方、外部キーの選択的なカスケード更新の可能性は、実際的な問題を解決するのではなく、一般的なルールに違反します。