On 02.10.2011 08:31, Nikhil Sontakke wrote:
Consider the following sequence of commands in a psql session:

postgres=#create table public.sample(x int);
postgres=#create schema new;
postgres=#create table new.sample(x int);
postgres=#set search_path=public,new;

postgres=#\dt
Schema | Name | Type | Owner
-------------------------------------------
public     |  sample | table | postgres
(1 row)

We should have seen two entries in the above listing. So looks like a bug to
me.

No, that's the way it's designed to work. It shows the objects that are visible to you, without schema-qualifying them. See http://www.postgresql.org/docs/9.0/interactive/app-psql.html#APP-PSQL-PATTERNS :

Whenever the pattern parameter is omitted completely, the \d commands display 
all objects that are visible in the current schema search path — this is 
equivalent to using * as the pattern. (An object is said to be visible if its 
containing schema is in the search path and no object of the same kind and name 
appears earlier in the search path. This is equivalent to the statement that 
the object can be referenced by name without explicit schema qualification.) To 
see all objects in the database regardless of visibility, use *.* as the 
pattern.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to