Re: add \dpS to psql
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Dean Rasheed <dean.a.rasheed@gmail.com>
Cc: Maxim Orlov <orlovmg@gmail.com>, Andrew Dunstan <andrew@dunslane.net>, Michael Paquier <michael@paquier.xyz>, Tom Lane <tgl@sss.pgh.pa.us>, Isaac Morland <isaac.morland@gmail.com>, Justin Pryzby <pryzby@telsasoft.com>, Pavel Luzanov <p.luzanov@postgrespro.ru>, pgsql-hackers@postgresql.org
Date: 2023-01-07T00:36:51Z
Lists: pgsql-hackers
On Fri, Jan 06, 2023 at 06:52:33PM +0000, Dean Rasheed wrote: > Looking this over this, I have a couple of comments: Thanks for reviewing. > Firstly, I think it should allow \zS in the same fashion as \dpS, > since \z is an alias for \dp, so the 2 should be kept in sync. That seems reasonable to me. > Secondly, I don't think the following is the right SQL clause to use > in the absence of "S": > > if (!showSystem && !pattern) > appendPQExpBufferStr(&buf, "AND n.nspname !~ '^pg_'\n"); > > I know that's the condition it used before, but the problem with using > that now is that it will cause temporary relations to be excluded > unless the "S" modifier is used, which goes against the expectation > that "S" just causes system relations to be included. Also, it fails > to exclude information_schema relations, if that happens to be on the > user's search_path. > > So I think we should use the same SQL clauses as every other psql > command that supports "S", namely: > > if (!showSystem && !pattern) > appendPQExpBufferStr(&buf, " AND n.nspname <> 'pg_catalog'\n" > " AND n.nspname <> 'information_schema'\n"); Good catch. I should have noticed this. The deleted comment mentions that the system/temp tables normally aren't very interesting from a permissions perspective, so perhaps there is an argument for always excluding temp tables without a pattern. After all, \dp always excludes indexes and TOAST tables. However, it looks like \dt includes temp tables, and I didn't see any other meta-commands that excluded them. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix psql \?'s entries for \dp and \z.
- dda9f8e7bc2e 16.0 landed
-
psql: Add support for \dpS and \zS.
- d913928c9c5e 16.0 landed
-
Add grantable MAINTAIN privilege and pg_maintain role.
- 60684dd834a2 16.0 landed