On Tue, 28 Oct 2003, Tom Lane wrote:
> Rod Taylor <rbt@rbt.ca> writes:
> > I say leave it the way it is. If you want system table tab completion,
> > simply:
> > ALTER USER ... SET search_path =3D pg_catalog,...;
>
> Unfortunately, that *does not* affect the tab-completion behavior;
> it will still not offer the system catalogs as completions unless
> you explicitly prefix "pg_catalog.".
It seems a good compromise then would be that if "pg_catalog" is in your
search path, then do the old fashioned completion, i.e. p<tab> will list
everything in both pg_catalog and the other schemas in your search path.
Afterall, the system catalog kind of "hitchhikes" along for a ride in your
search path. Most users aren't interested in the system catalogs, so
having them suddenly show up when you just wanted the phonebook table is
kinda a bother for them.
Is it possible to remove the implicit search path of pg_catalog from a
psql session without it breaking lots of stuff? If not, then it's kind of
ugly to the user to have no way to get the system from proffering
pg_catalog tables when they have no interest in them. If so, then why
make it part of the default?