Be more careful about GucSource for internally-driven GUC settings.
Tom Lane <tgl@sss.pgh.pa.us>
Be more careful about GucSource for internally-driven GUC settings. The original advice for hard-wired SetConfigOption calls was to use PGC_S_OVERRIDE, particularly for PGC_INTERNAL GUCs. However, that's really overkill for PGC_INTERNAL GUCs, since there is no possibility that we need to override a user-provided setting. Instead use PGC_S_DYNAMIC_DEFAULT in most places, so that the value will appear with source = 'default' in pg_settings and thereby not be shown by psql's new \dconfig command. The one exception is that when changing in_hot_standby in a hot-standby session, we still use PGC_S_OVERRIDE, because people felt that seeing that in \dconfig would be a good thing. Similarly use PGC_S_DYNAMIC_DEFAULT for the auto-tune value of wal_buffers (if possible, that is if wal_buffers wasn't explicitly set to -1), and for the typical 2MB value of max_stack_depth. In combination these changes remove four not-very-interesting entries from the typical output of \dconfig, all of which people fingered as "why is that showing up?" in the discussion thread. Discussion: https://postgr.es/m/3118455.1649267333@sss.pgh.pa.us
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/transam/xlog.c | modified | +12 −3 |
| src/backend/bootstrap/bootstrap.c | modified | +1 −1 |
| src/backend/postmaster/postmaster.c | modified | +1 −1 |
| src/backend/storage/ipc/ipci.c | modified | +4 −2 |
| src/backend/utils/init/miscinit.c | modified | +3 −3 |
| src/backend/utils/init/postinit.c | modified | +3 −3 |
| src/backend/utils/misc/guc.c | modified | +20 −14 |
| src/backend/utils/misc/guc-file.l | modified | +2 −3 |
| src/include/utils/guc.h | modified | +6 −2 |
Discussion
- How about a psql backslash command to show GUCs? 71 messages · 2022-04-06 → 2022-06-08