[BUG] Unexpected action when publishing partition tables
tanghy.fnst@fujitsu.com <tanghy.fnst@fujitsu.com>
From: "tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-09-06T07:58:50Z
Lists: pgsql-hackers
Hi I met a problem when using logical replication. Maybe it's a bug in logical replication. When publishing a partition table without replica identity, update or delete operation can be successful in some cases. For example: create table tbl1 (a int) partition by range ( a ); create table tbl1_part1 partition of tbl1 for values from (1) to (101); create table tbl1_part2 partition of tbl1 for values from (101) to (200); insert into tbl1 select generate_series(1, 10); delete from tbl1 where a=1; create publication pub for table tbl1; delete from tbl1 where a=2; The last DELETE statement can be executed successfully, but it should report error message about missing a replica identity. I found this problem on HEAD and I could reproduce this problem at PG13 and PG14. (Logical replication of partition table was introduced in PG13.) Regards Tang
Commits
-
Invalidate all partitions for a partitioned table in publication.
- f09a81f1c08f 13.5 landed
- 9eff85932659 14.0 landed
- 4548c76738b3 15.0 landed