发件人:David G. Johnston <[email protected]>
发件时间:2025年7月18日 01:56
收件人:yexiu-glory <[email protected]>
主题:Re: PostgreSQL 16 bug feedback
Keep replies on-list. You told the system “phone” is part of the
row identifier and the subscriber doesn’t have the phone column, there is no
way for the subscriber to succeed. You will get a failure with your
intended setup, the only real question is when.
David J.
On Thursday, July 17, 2025, yexiu-glory <[email protected]> wrote:
I hope there will be no errors and it can be updated and deleted normally.
---原始邮件---
发件人:"David G. Johnston"
发送时间:2025-07-17 23:54:17
收件人:"yexiu-glory";
主题:Re: PostgreSQL 16 bug feedback
On Thursday, July 17, 2025, yexiu-glory <[email protected]> wrote:
I encountered a problem in PostgreSQL 16:
In db1, there is a user table with fields id, name, phone, and createtime
db2 replicates the user table from db1 through logical replication, specifying
the fields as id, name, and createtime
Then, in db1, perform the following operation: alter table user replica
identity full;
Then, modifying or deleting a record in the user table will result in an error,
The error message for modification is as follows, and similar errors also occur
when deleting.
update "public"."user" set name='aaa’where id = 20005
>ERROR: cannot update table "user"DETAIL: Column list used by the
publication does not cover the replica identity.
What did you expect to happen?
David J.
I think it would be better if, when using the command "alter table user replica
identity full" and specifying columns, the full-state synchronization should
also synchronize all the specified fields?