v3-Fix-unexpected-data-beyond-EOF-on-replica-restart.patch

text/x-patch

Filename: v3-Fix-unexpected-data-beyond-EOF-on-replica-restart.patch
Type: text/x-patch
Part: 0
Message: Re: Fix possible 'unexpected data beyond EOF' on replica restart
diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c
index f9066ab8c49..abb51f0a0bb 100644
--- a/src/backend/storage/smgr/smgr.c
+++ b/src/backend/storage/smgr/smgr.c
@@ -911,7 +911,8 @@ smgrtruncate(SMgrRelation reln, ForkNumber *forknum, int nforks,
 		 * these ones too at the next command boundary. But ensure they aren't
 		 * outright wrong until then.
 		 */
-		reln->smgr_cached_nblocks[forknum[i]] = nblocks[i];
+		reln->smgr_cached_nblocks[forknum[i]] =
+			nblocks[i] > old_nblocks[i] ? old_nblocks[i] : nblocks[i];
 	}
 }