postgres.git / summary / log / commit / refs
commit 6547a2f6cccf8cfbfdd91a0b278bb65f0b00bdd2
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
Date: Mon Sep 14 13:33:24 2026 +0000
Don't log page zeroing when checksum failures are ignored
When checksum failures are ignored, the page won't be zeroed on error
even if zero_damaged_pages is set. Found via review by GPT-6.
Author: Daniel Gustafsson <daniel@yesql.se>
Discussion: https://postgr.es/m/E15AC050-C4B5-488D-BB2D-3C7AC9F89EA8@yesql.se
Backpatch-through: 19
src/backend/storage/page/bufpage.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/backend/storage/page/bufpage.c b/src/backend/storage/page/bufpage.c
index 8df74618fcd..a6d6e13f0b3 100644
--- a/src/backend/storage/page/bufpage.c
+++ b/src/backend/storage/page/bufpage.c
@@ -160,7 +160,7 @@ PageIsVerified(PageData *page, BlockNumber blkno, int flags, bool *checksum_fail
if ((flags & (PIV_LOG_WARNING | PIV_LOG_LOG)) != 0)
ereport(flags & PIV_LOG_WARNING ? WARNING : LOG,
(errcode(ERRCODE_DATA_CORRUPTED),
- (flags & PIV_ZERO_BUFFERS_ON_ERROR) ?
+ ((flags & PIV_ZERO_BUFFERS_ON_ERROR) && !(flags & PIV_IGNORE_CHECKSUM_FAILURE)) ?
errmsg("page verification failed, calculated checksum %u but expected %u, buffer will be zeroed",
checksum, p->pd_checksum) :
errmsg("page verification failed, calculated checksum %u but expected %u",
[parent: cffb4d8bd65e]