On Tue, Apr 19, 2022 at 04:21:21PM -0700, David G. Johnston wrote: > I've done this four times in a row and while the number of dirty buffers > shown each time vary (see below) I see that "wrote N buffers" is always > exactly one more than the total count of dirty buffers. I'm just curious > if anyone has a quick answer for this unusual correspondence.
I see that SlruInternalWritePage() increments ckpt_bufs_written, so my first guess would be that it's due to something like CheckPointCLOG().
I peeked at pg_stat_bgwriter and see an increase in buffers_checkpoint matching the dirty buffers number.
I also looked at pg_stat_slru to try and find the corresponding change caused by:
I do see (Xact) blks_hit change during this process (after the update/commit, not the checkpoint, though) but it increases by 2 when dirty buffers is 4. I was expecting 4, thinking that blocks and buffers and pages are basically the same things (which [1] seems to affirm).