Re: Prefixing schema name

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Tiffany Thang <tiffanythang(at)gmail(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Prefixing schema name
Date: 2018-03-07 23:13:29
Message-ID: CAKFQuwYun0cHVsKhHSdOaBSMzABXYuS6JNm-VUJQLJyH8K2AFQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Mar 7, 2018 at 4:05 PM, Tiffany Thang <tiffanythang(at)gmail(dot)com>
wrote:

> ​
> The search_path configuration works only for queries.
>

​Um....

​https://www.postgresql.org/docs/10/static/sql-createschema.html

"​A CREATE command specifying an unqualified object name creates the object
in the current schema (the one at the front of the search path, which can
be determined with the function current_schema)"

> For example:
> Is there a way to run the create/insert statements below without prefixing
> the schema name, user1?​
>

> As the user, user1:
> Create table user1.table1 (id int);
> Insert into user1.table1 values (1);
>

​Just omitting "user1" and seeing what happens would be informative. You
should find it does exactly what you think - namely because the default
search_path will cause "user1" to appear first.

Insert is more similar to Select than it is to Create - the object being
inserted into must already exist

David J.
​​

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2018-03-07 23:21:35 Re: cached plan must not change result type
Previous Message Jan Bilek 2018-03-07 23:06:59 cached plan must not change result type