W Postgres (i innych RDBM) aktualizacje kaskadowe dotyczą wyłącznie kluczy obcych. Przykład:
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)
W rzeczywistości inne opcje nie są potrzebne. Jeśli czujesz potrzebę zrobienia tego dla kolumny, która nie jest kluczem obcym, oznacza to, że model jest źle zaprojektowany (nie jest to znormalizowane ). Z drugiej strony możliwość selektywnej kaskadowej aktualizacji kluczy obcych nie rozwiązuje żadnego praktycznego problemu, ale raczej łamie ogólne zasady.