Re: Unexpected behavior from psql

From: Tim Hart <tjhart(at)mac(dot)com>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Unexpected behavior from psql
Date: 2009-01-11 23:13:13
Message-ID: 7ABD6578-4099-4114-A930-5FA41F1AD773@mac.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Phoenix Kiula 2009-01-12 01:07:31 Smartest way to resize a column?
Previous Message Jeff Davis 2009-01-11 22:41:24 Re: Unexpected behavior from psql