Re: add \dpS to psql
От | Dean Rasheed |
---|---|
Тема | Re: add \dpS to psql |
Дата | |
Msg-id | CAEZATCWDMjxEVKmSj3QD+Expo4YALMN3dxZS-UwS7wqbyBXtWw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: add \dpS to psql (Nathan Bossart <nathandbossart@gmail.com>) |
Ответы |
Re: add \dpS to psql
|
Список | pgsql-hackers |
On Wed, 28 Dec 2022 at 21:26, Nathan Bossart <nathandbossart@gmail.com> wrote: > > On Wed, Dec 28, 2022 at 02:46:23PM +0300, Maxim Orlov wrote: > > The patch applies with no problem, implements what it declared, CF bot is > > happy. > > Without patch \dpS shows 0 rows, after applying system objects are shown. > > Consider this patch useful, hope it will be committed soon. > > Thanks for reviewing. > Looking this over this, I have a couple of comments: 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. 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"); Updated patch attached. Regards, Dean
Вложения
В списке pgsql-hackers по дате отправления: