Re: CHECKPOINT unlogged data - Mailing list pgsql-hackers

From Christoph Berg
Subject Re: CHECKPOINT unlogged data
Date
Msg-id aDnpeJ99HhoMgJ40@msg.df7cb.de
Whole thread Raw
In response to Re: CHECKPOINT unlogged data  (Nathan Bossart <nathandbossart@gmail.com>)
Responses Re: CHECKPOINT unlogged data
List pgsql-hackers
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



pgsql-hackers by date:

Previous
From: Nathan Bossart
Date:
Subject: Re: CHECKPOINT unlogged data
Next
From: Andres Freund
Date:
Subject: Re: CHECKPOINT unlogged data