Skip site navigation (1) Skip section navigation (2)

Schema Names

From: "Derrick Betts" <derrick(at)blueaxis(dot)com>
To: <pgsql-novice(at)postgresql(dot)org>
Subject: Schema Names
Date: 2006-07-29 03:59:12
Message-ID: 08e301c6b2c3$5fef4140$0202a8c0@main (view raw, whole thread or download thread mbox)
Lists: pgsql-novice
In the public schema, when a table is created the table name does not get pre-pended by the schema name.  For example:
        CREATE TABLE new_table (column_name varchar);

    SELECT column_name FROM new_table;  This returns a result as expected.

However, if I create a new schema, it would seem that the only way to access a table within the new schema is to pre-pend the table name with the schema name:
    CREATE SCHEMA new_schema;
        CREATE TABLE new_table (column_name varchar);

    SET search_path TO new_schema;
    SELECT column_name FROM new_table;  This returns an error saying there is no such table as new_table.  What has happened is that when I created the new table the table name automatically became:  new_schema.new_table  Therefore the only way to query the new table is this way:
    SELECT column_name FROM new_schema.new_table;

Is there a way to "turn off" this automated behavior that pre-pends every table, etc. that is created with the schema name?  I am using pgAdmin III as the interface for creating the schemas.  I am also using version 8.1.  Is this a PostgreSQL behavior or a pgAdmin II behavior?

Thank you,


pgsql-novice by date

Next:From: Derrick BettsDate: 2006-07-29 04:45:57
Subject: Re: Schema Names
Previous:From: Jim NasbyDate: 2006-07-29 00:37:20
Subject: Re: [NOVICE] The name of the game

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group