On 2022-Feb-11, Robert Haas wrote:
> What I find difficult about doing that is that this is all a bunch of
> technical details that users may have difficulty understanding. If we
> say WAL_LOG or WAL_LOG_DATA, a reasonably but not incredibly
> well-informed user will assume that skipping WAL is not really an
> option. If we say CHECKPOINT, a reasonably but not incredibly
> well-informed user will presume they don't want one (I think).
> CHECKPOINT also seems like it's naming the switch by the unwanted side
> effect, which doesn't seem too flattering to the existing method.
It seems you're thinking deciding what to do based on an option that
gets a boolean argument. But what about making the argument be an enum?
For example
CREATE DATABASE ... WITH (STRATEGY = LOG); -- default if option is omitted
CREATE DATABASE ... WITH (STRATEGY = CHECKPOINT);
So the user has to think about it in terms of some strategy to choose,
rather than enabling or disabling some flag with nontrivial
implications.
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
"[PostgreSQL] is a great group; in my opinion it is THE best open source
development communities in existence anywhere." (Lamar Owen)