Re: Add a GUC check hook to ensure summarize_wal cannot be enabled when wal_level is minimal
Jelte Fennema-Nio <postgres@jeltef.nl>
From: Jelte Fennema-Nio <postgres@jeltef.nl>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Fujii Masao <masao.fujii@oss.nttdata.com>,
pgsql-hackers@lists.postgresql.org
Date: 2024-07-03T14:45:10Z
Lists: pgsql-hackers
On Wed, 3 Jul 2024 at 16:30, Nathan Bossart <nathandbossart@gmail.com> wrote: > 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. Yeah, this hook only works because wal_level isn't PGC_SIGHUP and indeed because there's a check in postmaster.c. It now depends on the ordering of these values in your config which place causes the error message on startup. This hits the already existing check: summarize_wal = 'true' wal_sumarizer = 'minimal' This hits the new check: summarize_wal = 'true' wal_sumarizer = 'minimal' And actually this would throw an error from the new check even though the config is fine: wal_sumarizer = 'minimal' summarize_wal = 'true' wal_sumarizer = 'logical' > 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... +1. Sounds like we need a global GUC consistency check
Commits
-
Do not summarize WAL if generated with wal_level=minimal.
- 2b5819e2b4d6 17.0 landed
- 402b586d0a9c 18.0 landed
-
Revert "Auto-tune effective_cache size to be 4x shared buffers"
- a16d421ca4fc 9.4.0 cited
-
Un-break ecpg test suite under --disable-integer-datetimes.
- 08c8e8962f56 9.4.0 cited
-
Again fix initialization of auto-tuned effective_cache_size.
- af930e606a32 9.4.0 cited
-
Code review for auto-tuned effective_cache_size.
- 285089696199 9.4.0 cited
-
Auto-tune effective_cache size to be 4x shared buffers
- ee1e5662d8d8 9.4.0 cited