Hi all, Update cascade apparently doesn't work as well on partiotioned tables (when moving data between different partitions). Please, look at example below: -- Create master partitioned table; CREATE TABLE users ( id serial NOT NULL, username text NOT NULL, password text, primary key (id) ) PARTITION BY RANGE ( id ); CREATE TABLE users_p0 partition OF users FOR VALUES FROM (MINVALUE) TO (10); CREATE TABLE users_p1 partition OF users FOR VALUES FROM (10) TO (20); -- Create detail table; create table logs ( id serial not null, user_id integer not null, primary key (id), foreign key (user_id) references users (id) on update cascade ); test=# insert into users (id, username, password) values (1, 'user', 'pass'); INSERT 0 1 test=# insert into logs (id, user_id) values (1, 1); INSERT 0 1 -- update without changing partition test=# update users set id = 8 where id = 1; UPDATE 1 -- Lets see the log table test=# select * from logs; id | user_id ----+--------- 1 | 8 (1 row) -- update changing partition; test=# update users set id = 12 where id = 8; ERROR: update or delete on table "users_p0" violates foreign key constraint "logs_user_id_fkey1" on table "logs" DETAIL: Key (id)=(8) is still referenced from table "logs". IF create the foreign key with option "on update cascade on delete cascade" after running this command: update users set id = 12 where id = 8; the Record on logs table Will be deleted. Is this the expectec behavior? -- Att Márcio A. Sepp