Jelte Fennema-Nio <postg...@jeltef.nl> writes: > On Wed, 10 Jul 2024 at 16:18, Nathan Bossart <nathandboss...@gmail.com> wrote: >> Yeah. I initially thought this patch might be okay, at least as a stopgap, >> but Jelte pointed out a case where it doesn't work, namely when you have >> something like the following in the config file: >> >> wal_level = 'minimal' >> summarize_wal = 'true' >> wal_level = 'logical'
> I think that issue can be solved fairly easily by making the guc > check_hook always pass during postmaster startup (by e.g. checking > pmState), and relying on the previous startup check instead during > startup. Please, no. We went through a ton of permutations of that kind of idea years ago, when it first became totally clear that cross-checks between GUCs do not work nicely if implemented in check_hooks. (You can find all the things we tried in the commit log, although I don't recall exactly when.) A counter-example for what you just said is when a configuration file like the above is loaded after postmaster start. If we want to solve this, let's actually solve it, perhaps by inventing a "consistency check" mechanism that GUC applies after it thinks it's reached a final set of GUC values. I'm not very clear on how outside checking code would be able to look at the tentative rather than active values of the variables, but that should be solvable. regards, tom lane