From d39f41ff50e8a72e5228a92102434e600d65a943 Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Mon, 16 Sep 2019 13:39:21 -0700 Subject: [PATCH v141 2/2] Add _bt_split() style WAL optimization. --- src/backend/access/nbtree/nbtinsert.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c index 605865e85e..a3b7cee0c5 100644 --- a/src/backend/access/nbtree/nbtinsert.c +++ b/src/backend/access/nbtree/nbtinsert.c @@ -2635,6 +2635,13 @@ _bt_dedup_one_page(Relation rel, Buffer buffer, Relation heapRel, Size itemsz) newpage = PageGetTempPageCopySpecial(page); nopaque = (BTPageOpaque) PageGetSpecialPointer(newpage); + /* + * Copy the original page's LSN into newpage, which will become the + * updated version of the page. We need this because XLogInsert will + * examine the LSN and possibly dump it in a page image. + */ + PageSetLSN(newpage, PageGetLSN(page)); + /* Make sure that new page won't have garbage flag set */ nopaque->btpo_flags &= ~BTP_HAS_GARBAGE; -- 2.17.1