diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2022-04-07 17:09:44 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2022-04-07 17:09:51 -0400 |
commit | 3e707fbb4009e9ac1d0e8b78b7af9f3f03f4cf1a (patch) | |
tree | 51a4fa81b580a8ed55f7640d32dd6b5978705265 /src/fe_utils/string_utils.c | |
parent | 16acf7f1aaea6c5efc0fa49182c16cd6bfd9f3d3 (diff) | |
download | postgresql-3e707fbb4009e9ac1d0e8b78b7af9f3f03f4cf1a.tar.gz postgresql-3e707fbb4009e9ac1d0e8b78b7af9f3f03f4cf1a.zip |
psql: add \dconfig command to show server's configuration parameters.
Plain \dconfig is basically equivalent to SHOW except that you can
give it a pattern with wildcards, either to match multiple GUCs or
because you don't exactly remember the name you want.
\dconfig+ adds type, context, and access-privilege information,
mainly because every other kind of object privilege has a psql command
to show it, so GUC privileges should too. (A form of this command was
in some versions of the patch series leading up to commit a0ffa885e.
We pulled it out then because of doubts that the design and code were
up to snuff, but I think subsequent work has resolved that.)
In passing, fix incorrect completion of GUC names in GRANT/REVOKE
ON PARAMETER: a0ffa885e neglected to use the VERBATIM form of
COMPLETE_WITH_QUERY, so it misbehaved for custom (qualified) GUC
names.
Mark Dilger and Tom Lane
Discussion: https://postgr.es/m/3118455.1649267333@sss.pgh.pa.us
Diffstat (limited to 'src/fe_utils/string_utils.c')
-rw-r--r-- | src/fe_utils/string_utils.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/fe_utils/string_utils.c b/src/fe_utils/string_utils.c index bca50ec6dec..1c618404627 100644 --- a/src/fe_utils/string_utils.c +++ b/src/fe_utils/string_utils.c @@ -918,8 +918,12 @@ processSQLNamePattern(PGconn *conn, PQExpBuffer buf, const char *pattern, * Convert shell-style 'pattern' into the regular expression(s) we want to * execute. Quoting/escaping into SQL literal format will be done below * using appendStringLiteralConn(). + * + * If the caller provided a schemavar, we want to split the pattern on + * ".", otherwise not. */ - patternToSQLRegex(PQclientEncoding(conn), NULL, &schemabuf, &namebuf, + patternToSQLRegex(PQclientEncoding(conn), NULL, + (schemavar ? &schemabuf : NULL), &namebuf, pattern, force_escape); /* |