WAL log unchanged toasted replica identity key attributes.
authorAmit Kapila <[email protected]>
Mon, 14 Feb 2022 03:15:54 +0000 (08:45 +0530)
committerAmit Kapila <[email protected]>
Mon, 14 Feb 2022 03:15:54 +0000 (08:45 +0530)
commitb5e060473273b7ef95ec919aee0c934e659dd63e
tree2da8c76ad59272049afbee80e2822e90f5bb0da6
parent2e9033a548041151e32f070cecc9dee154e8fb98
WAL log unchanged toasted replica identity key attributes.

Currently, during UPDATE, the unchanged replica identity key attributes
are not logged separately because they are getting logged as part of the
new tuple. But if they are stored externally then the untoasted values are
not getting logged as part of the new tuple and logical replication won't
be able to replicate such UPDATEs. So we need to log such attributes as
part of the old_key_tuple during UPDATE.

Reported-by: Haiying Tang
Author: Dilip Kumar and Amit Kapila
Reviewed-by: Alvaro Herrera, Haiying Tang, Andres Freund
Backpatch-through: 10
Discussion: https://postgr.es/m/OS0PR01MB611342D0A92D4F4BF26C0F47FB229@OS0PR01MB6113.jpnprd01.prod.outlook.com
contrib/test_decoding/expected/toast.out
doc/src/sgml/ref/alter_table.sgml
src/backend/access/heap/heapam.c