Re: Nathan Bossart > This patch also adds an IMMEDIATE option, which I proposed some time ago > [0]. I ended up withdrawing it due to general skepticism about its
Thanks for the pointer, I did not go that far back when looking for older threads. When writing the patch, I was also thinking about naming the option "fast" or "spread" but ultimately went with "immediate" because that's what the log message is using: =# checkpoint; 2025-05-30 18:23:17.433 CEST [579834] LOG: Checkpoint beginnt: immediate force wait SQL command "(options)" tend to be booleans, hence "immediate {on|off}". Introducing two separate keywords "fast" and "spread" seemed confusing, and there is no precedent for "fast=on" in other tools or the replication protocol. > usefulness. FWIW I have no concerns about adding a few retail options to > CHECKPOINT, but others might balk at options without solid use-cases. The > unlogged table one seems reasonable enough. I think the two options immediate and flush_all are actually useful in combination for the shutdown case. If operation is to continue normally until just before the shutdown, it might make sense to run these 3 commands (or just #1 and #3): checkpoint (flush_all, immediate false); checkpoint (flush_all); pg_ctl stop (I also thought about a VERBOSE option, but since the checkpoint messages are generated by a different process, it's probably harder than I initially thought.) Christoph