Re: How about a psql backslash command to show GUCs?
Jonathan S. Katz <jkatz@postgresql.org>
From: "Jonathan S. Katz" <jkatz@postgresql.org>
To: Tom Lane <tgl@sss.pgh.pa.us>, Christoph Berg <myon@debian.org>
Cc: Robert Haas <robertmhaas@gmail.com>, Justin Pryzby
<pryzby@telsasoft.com>, Julien Rouhaud <rjuju123@gmail.com>,
Pavel Stehule <pavel.stehule@gmail.com>,
"David G. Johnston" <david.g.johnston@gmail.com>,
Joe Conway <mail@joeconway.com>, Mark Dilger <mark.dilger@enterprisedb.com>,
Andrew Dunstan <andrew@dunslane.net>, David Rowley <dgrowleyml@gmail.com>,
Alvaro Herrera <alvherre@alvh.no-ip.org>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-06-08T00:35:50Z
Lists: pgsql-hackers
On 6/7/22 7:58 PM, Tom Lane wrote: > I wrote: >> The attached draft patch makes the following changes: > > Here's a v2 that polishes the loose ends: Thanks! I reviewed and did some basic testing locally. I did not see any of the generated defaults. >> (I didn't do anything about in_hot_standby, which is set through >> a hack rather than via set_config_option; not sure whether we want >> to do anything there, or what it should be if we do.) The comment diff showed that it went from "hack" to "hack" :) > I concluded that directly assigning to in_hot_standby was a fairly > horrid idea and we should just change it with SetConfigOption. > With this coding, as long as in_hot_standby is TRUE it will show > as having a non-default setting in \dconfig. I had to remove the > assertion I'd added about PGC_INTERNAL variables only receiving > "default" values, but this just shows that was too inflexible anyway. I tested this and the server correctly rendered "in_hot_standby" in \dconfig. I also tested setting "hot_standby to "on" while the server was not in recovery, and \dconfig correctly did not render "in_hot_standby". >> * The rlimit-derived value of max_stack_depth is likewise relabeled >> as PGC_S_DYNAMIC_DEFAULT, resolving the complaint Jonathan had upthread. >> But now that we have a way to hide this, I'm having second thoughts >> about whether we should. If you are on a platform that's forcing an >> unreasonably small stack size, it'd be good if \dconfig told you so. >> Could it be sane to label that value as PGC_S_DYNAMIC_DEFAULT only when >> it's the limit value (2MB) and PGC_S_ENV_VAR when it's smaller? > > I concluded that was just fine and did it. Reading the docs, I think this is OK to do. We already say that "2MB" is a very conservative setting. And even if the value can be computed to be larger, we don't allow the server to set it higher than "2MB". I don't know how frequently issues around "max_stack_depth" being too small are reported -- I'd be curious to know that -- but I don't have any strong arguments against allowing the behavior you describe based on our current docs. Jonathan
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Be more careful about GucSource for internally-driven GUC settings.
- 7ab5b4eb4834 15.0 landed
-
Fix case sensitivity in psql's tab completion for GUC names.
- b5607b0746f4 15.0 landed
-
Further tweak the default behavior of psql's \dconfig.
- 139d46ee26a2 15.0 landed
-
Tweak the default behavior of psql's \dconfig.
- 5e70d8b5d18b 15.0 landed
-
psql: add \dconfig command to show server's configuration parameters.
- 3e707fbb4009 15.0 landed
-
Allow granting SET and ALTER SYSTEM privileges on GUC parameters.
- a0ffa885e478 15.0 cited