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