Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > Tom Lane wrote:
> >> I think people use \df all the time to check the argument list, verify
> >> whether they remember the function name correctly, etc. It's not for
> >> "learning about" stuff you never heard of, it's for remembering details
> >> (as indeed is the usage for user-defined functions too).
>
> > Which means my patch will work perfectly for them (because of the
> > pattern), and hopefully for you. ;-)
>
> I can agree that it's reasonable for the default behavior with no
> arguments (no pattern) to be to show only user-defined objects.
> Otherwise you're going to get quite a long list, which doesn't
> seem particularly useful --- and if you really want that, you can
> say '*.*' so there's no loss of functionality if we change it.
>
> However, if we don't have that restriction when a pattern is given,
> I wonder whether we need the 'S' modifier at all. If you really
> want to see only system objects, there's 'pg_catalog.*', but this
> doesn't seem like a case that's so common that it needs a command
> modifier letter.
>
> So my proposal at the moment is to get rid of 'S', have the behavior
> with a pattern be the same as it was before, and only change the
> behavior with no pattern.
Well, this is psql and it should be easy; I am not sure pg_catalog.*
fits that requirement. Right now if you do \dt you see user tables, and
\dtS shows system tables; I don't see removing 'S' as being a great
usability gain.
I think searching for both user and system stuff with a pattern is a
no-brainer.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +