Re: Schema Names

From: "Derrick Betts" <derrick(at)blueaxis(dot)com>
To: <pgsql-novice(at)postgresql(dot)org>
Subject: Re: Schema Names
Date: 2006-07-29 04:45:57
Message-ID: 090801c6b2c9$e2aa73b0$0202a8c0@main
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Answered my own question. It is working as expected. I had a PHP error that was releasing a session variable that caused the query to malfunction.

Derrick
----- Original Message -----
From: Derrick Betts
To: pgsql-novice(at)postgresql(dot)org
Sent: Friday, July 28, 2006 9:59 PM
Subject: [NOVICE] Schema Names

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,
Derrick

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2006-07-29 04:48:47 Re: Schema Names
Previous Message Derrick Betts 2006-07-29 03:59:12 Schema Names