On Wed, Jul 03, 2024 at 11:08:48PM +0900, Fujii Masao wrote:
> +/*
> + * GUC check_hook for summarize_wal
> + */
> +bool
> +check_summarize_wal(bool *newval, void **extra, GucSource source)
> +{
> +     if (*newval && wal_level == WAL_LEVEL_MINIMAL)
> +     {
> +             GUC_check_errmsg("WAL cannot be summarized when \"wal_level\" 
> is \"minimal\"");
> +             return false;
> +     }
> +     return true;
> +}

IME these sorts of GUC hooks that depend on the value of other GUCs tend to
be quite fragile.  This one might be okay because wal_level defaults to
'replica' and because there is an additional check in postmaster.c, but
that at least deserves a comment.

This sort of thing comes up enough that perhaps we should add a
better-supported way to deal with GUCs that depend on each other...

-- 
nathan


Reply via email to