Re: Prefixing schema name

2018-03-08 Thread Tiffany Thang
Thanks David and Achilleas. This is no longer an issue. The table
previously went to the public schema. I'm not sure what I did. Anyway,
without a prefix, it defaults to the current schema.

On Thu, Mar 8, 2018 at 2:02 AM, Achilleas Mantzios <
ach...@matrix.gatewaynet.com> wrote:

> On 08/03/2018 01:13, David G. Johnston wrote:
>
> On Wed, Mar 7, 2018 at 4:05 PM, Tiffany Thang 
> 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)"
>
>
> In pg_dump relies heavily on search_path for all CREATE statements.
>
>
>> 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.
> ​​
>
>
> --
> Achilleas Mantzios
> IT DEV Lead
> IT DEPT
> Dynacom Tankers Mgmt
>
>


Re: Prefixing schema name

2018-03-07 Thread Achilleas Mantzios

On 08/03/2018 01:13, David G. Johnston wrote:

On Wed, Mar 7, 2018 at 4:05 PM, Tiffany Thang mailto:tiffanyth...@gmail.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)"



In pg_dump relies heavily on search_path for all CREATE statements.



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.
​​



--
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt



Re: Prefixing schema name

2018-03-07 Thread David G. Johnston
On Wed, Mar 7, 2018 at 4:05 PM, Tiffany Thang 
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.
​​