diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index ff92360155d0dec44559389523e5a0f37b7e36a8..56095b32501efef651b0e650c5938de9b16d46f9 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -1206,9 +1206,9 @@ BufferSync(int flags) /* * Unless this is a shutdown checkpoint, we write only permanent, dirty - * buffers. But at shutdown time, we write all dirty buffers. + * buffers. But at shutdown or end of recovery, we write all dirty buffers. */ - if (!(flags & CHECKPOINT_IS_SHUTDOWN)) + if (!((flags & CHECKPOINT_IS_SHUTDOWN) || (flags & CHECKPOINT_END_OF_RECOVERY))) mask |= BM_PERMANENT; /*