Tom Lane <t...@sss.pgh.pa.us> writes: > Well, as I said before, I'm not averse to having the default behavior > *with no pattern* to be that we omit system objects --- and I think we > could make that apply across the board. What I'm saying is that when > you give a pattern it should not matter whether an object is system or > user. It would go like this: > > \df -- all non-system functions > \df sin -- the active (visible) definition of sin() > \df sin* -- all visible functions starting with "sin" > > lesser used cases: > > \df * -- all visible functions > \df *.* -- all functions, period > \df pg_catalog.* -- all system functions > \df public.* -- all functions in public
So it seems to me that we made \df consistent with \dt when in fact what we really wanted is for it to be consistent with \d. I hadn't actually realized that the behaviour for \d was so different from \dt myself. The behaviour of \dt in the face of tables which shadow system tables is actually even stranger: postgres=# create table pg_proc (t text); CREATE TABLE postgres=# commit; COMMIT postgres=# \dt pg_proc No matching relations found. And I don't see any reason aggregates, operators, etc, shouldn't be any more susceptible the shadowing problem. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com Get trained by Bruce Momjian - ask me about EnterpriseDB's PostgreSQL training! -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers