From 555f280f36c8c8fc0927596610672b5a6898c3e7 Mon Sep 17 00:00:00 2001
From: Nitin Jadhav <nitinjadhav@microsoft.com>
Date: Thu, 15 Dec 2022 10:03:48 +0000
Subject: [PATCH] Fix inconsistency in checkpointer stats

The buffers written information exposed using pg_stat_bgwriter view is having
inconsistent data compared to the checkpoint complete log message. So
incremented the counter in SlruInternalWritePage() to fix the inconsistency.
---
 src/backend/access/transam/slru.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/backend/access/transam/slru.c b/src/backend/access/transam/slru.c
index 6feda87f57..de23f1d673 100644
--- a/src/backend/access/transam/slru.c
+++ b/src/backend/access/transam/slru.c
@@ -604,7 +604,10 @@ SlruInternalWritePage(SlruCtl ctl, int slotno, SlruWriteAll fdata)
 
 	/* If part of a checkpoint, count this as a buffer written. */
 	if (fdata)
+	{
 		CheckpointStats.ckpt_bufs_written++;
+		PendingCheckpointerStats.buf_written_checkpoints++;
+	}
 }
 
 /*
-- 
2.25.1

