]> git.ipfire.org Git - thirdparty/postgresql.git/commit
WAL log unchanged toasted replica identity key attributes.
authorAmit Kapila <akapila@postgresql.org>
Mon, 14 Feb 2022 02:57:56 +0000 (08:27 +0530)
committerAmit Kapila <akapila@postgresql.org>
Mon, 14 Feb 2022 02:57:56 +0000 (08:27 +0530)
commitce349cf176e20b6d12b10e1d3ede339acc77b67d
tree0a575dd042d95cb055a4583dc01d061d36255d76
parent7a12a9e3cc9784d5eeeb58b6b35ef2e735516a99
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