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>, Justin Pryzby <pryzby@telsasoft.com>
Cc: "David G. Johnston" <david.g.johnston@gmail.com>, Joe Conway <mail@joeconway.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, pgsql-hackers@lists.postgresql.org, Pavel Luzanov <p.luzanov@postgrespro.ru>, Greg Stark <stark@mit.edu>, Mark Dilger <mark.dilger@enterprisedb.com>
Date: 2022-04-07T16:29:35Z
Lists: pgsql-hackers
On 4/7/22 12:22 PM, Tom Lane wrote:
> Justin Pryzby <pryzby@telsasoft.com> writes:
>> SHOW and current_setting() translate to human units, which is particularly
>> useful for some settings, like those with units of 8k pages.
>> Is it better to use that "cooked" version for display in the backslash command
>> instead of the raw view from pg_settings ?
> 
> Oh, that's a good idea --- lets us drop the units column entirely.

+1

> The attached revision does that and moves the "type" column to
> secondary status, as discussed upthread.  I also added docs and
> simple regression tests, and fixed two problems that were preventing
> completion of custom (qualified) GUC names (we need to use the
> VERBATIM option for those queries).  There remains the issue that
> tab completion for GUC names ought to be case-insensitive, but
> that's a pre-existing bug in tab-complete.c's other GUC name
> completions too; I'll tackle it later.
> 
> As for the name, \dconf has a slight plurality in votes so far,
> so I'm sticking with that.
> 
> I think this is ready to go unless someone has a significantly
> better idea.

I ran the equivalent SQL locally and it LGTM. Docs read well to me. Code 
looks as good as it can to me.

+1

Jonathan

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Be more careful about GucSource for internally-driven GUC settings.

  2. Fix case sensitivity in psql's tab completion for GUC names.

  3. Further tweak the default behavior of psql's \dconfig.

  4. Tweak the default behavior of psql's \dconfig.

  5. psql: add \dconfig command to show server's configuration parameters.

  6. Allow granting SET and ALTER SYSTEM privileges on GUC parameters.