On Jan 11, 2009, at 4:41 PM, Jeff Davis wrote:
On Sun, 2009-01-11 at 15:33 -0600, Tim Hart wrote:
tjhart=# set search_path to foo, public;
SET
tjhart=# \d
List of relations
Schema | Name | Type | Owner
--------+-----------+-------+--------
foo | bar_table | table | tjhart
foo | foo_table | table | tjhart
(2 rows)
tjhart=# set search_path to public, foo;
SET
tjhart=# \d
List of relations
Schema | Name | Type | Owner
--------+-----------+-------+--------
foo | bar_table | table | tjhart
public | foo_table | table | tjhart
(2 rows)
This behavior seems consistent to me. If you type an unqualified name
like:
SELECT * FROM foo_table;
You'll get the one from the first namespace listed in search_path. It
makes sense for "\d" to display only the tables that can be seen
without
specifying a fully-qualified name.
Regards,
Jeff Davis
Would it be worthwhile to specify this in the documentation? One of
the sources of my confusion was the following statement:
http://www.postgresql.org/docs/8.3/interactive/app-psql.html:
\distvS
"... to obtain a listing of all the matching objects..."
I fully understand that 'foo' would need to be qualified when used in
sql, pl/pgsql, etc.
I understood the documentation to read that all tables, views, and
sequences in the search path would be listed, not just those unobscured.
Tim
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general