RE: Dropped and generated columns might cause wrong data on subs when REPLICA IDENTITY FULL
Yu Shi (Fujitsu) <shiy.fnst@fujitsu.com>
From: "shiy.fnst@fujitsu.com" <shiy.fnst@fujitsu.com>
To: Amit Kapila <amit.kapila16@gmail.com>, Önder Kalacı <onderkalaci@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-03-16T10:38:25Z
Lists: pgsql-hackers
On Thu, Mar 16, 2023 5:23 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Mon, Mar 13, 2023 at 6:26 PM Önder Kalacı <onderkalaci@gmail.com> > wrote: > > > > Attaching v2 > > > > Can we change the comment to: "Ignore dropped and generated columns as > the publisher doesn't send those."? After your change, att = > TupleDescAttr(slot1->tts_tupleDescriptor, attrnum); is done twice in > the same function. > > In test cases, let's change the comment to: "The bug was that when the > REPLICA IDENTITY FULL is used with dropped or generated columns, we > fail to apply updates and deletes.". Also, I think we don't need to > provide the email link as anyway commit message will have a link to > the discussion. > > Did you check this in the back branches? > I tried to reproduce this bug in backbranch. Generated column is introduced in PG12, and I reproduced generated column problem in PG12~PG15. For dropped column problem, I reproduced it in PG10~PG15. (Logical replication was introduced in PG10) So I think we should backpatch the fix for generated column to PG12, and backpatch the fix for dropped column to PG10. Regards, Shi Yu
Commits
-
Ignore generated columns during apply of update/delete.
- adedf54e659e 16.0 landed
- b6bf90edcd2f 15.3 landed
- 9dac02c77258 14.8 landed
- be52fff91dc9 13.11 landed
- 0f2d4adbf85f 12.15 landed
-
Ignore dropped columns during apply of update/delete.
- b797def5951f 16.0 landed
- 3c12407f4cf7 15.3 landed
- 65ead76961a4 14.8 landed
- 751d6676daf3 13.11 landed
- fc63e6ba8670 12.15 landed
- 4cdaea7a2119 11.20 landed