diff --git a/src/backend/access/nbtree/nbtxlog.c b/src/backend/access/nbtree/nbtxlog.c index c536e22432..8bc6dede34 100644 --- a/src/backend/access/nbtree/nbtxlog.c +++ b/src/backend/access/nbtree/nbtxlog.c @@ -572,6 +572,10 @@ btree_xlog_delete_get_latestRemovedXid(XLogReaderState *record) LockBuffer(ibuffer, BT_READ); ipage = (Page) BufferGetPage(ibuffer); + /* Index page is newer than xlog record */ + if (record->EndRecPtr <= PageGetLSN(ipage)) + return InvalidTransactionId; + /* * Loop through the deleted index items to obtain the TransactionId from * the heap items they point to.