Set search_path for session

Started by Mary Sipplealmost 17 years ago6 messagesgeneral
Jump to latest
#1Mary Sipple
msipple@iii.com

We have a script wrapper for psql which reads a configuration file and
constructs a psql command to connect to the configured instance of postgres.
We would like to include a search_path setting in the configuraration file
and have the wrapper use that to set the search_path for the psql session. I
tried using the -v flag (-vsearch_path=xxxx) with the psql command but that
did not work:

psql -h$SOCKET -U$USER -p$PORT -vsearch_path=$SCHEMAS $DBNAME

The search_path remains at the default setting:

iii=> show search_path;
search_path
----------------
"$user",public
(1 row)

Can anyone tell me how I can make this happen short of changing the
search_path setting in postgresql.conf & restarting postgres?

Thanks,

Mary Sipple

#2Scott Mead
scott.mead@enterprisedb.com
In reply to: Mary Sipple (#1)
Re: Set search_path for session

On Fri, Apr 17, 2009 at 10:47 AM, Mary Sipple <msipple@iii.com> wrote:

We have a script wrapper for psql which reads a configuration file and
constructs a psql command to connect to the configured instance of postgres.
We would like to include a search_path setting in the configuraration file
and have the wrapper use that to set the search_path for the psql session. I
tried using the -v flag (-vsearch_path=xxxx) with the psql command but
that did not work:

psql -h$SOCKET -U$USER -p$PORT -vsearch_path=$SCHEMAS $DBNAME

The search_path remains at the default setting:

iii=> show search_path;

search_path

----------------

"$user",public

(1 row)

Can anyone tell me how I can make this happen short of changing thesearch_path setting in postgresql.conf & restarting postgres?

In your users's home directory, place a '.psqlrc' file with the command 'set
search_path=<blah>'

http://www.postgresql.org/docs/8.3/static/app-psql.html

--Scott

#3Scott Mead
scott.lists@enterprisedb.com
In reply to: Mary Sipple (#1)
Re: Set search_path for session

On Fri, Apr 17, 2009 at 10:47 AM, Mary Sipple <msipple@iii.com> wrote:

We have a script wrapper for psql which reads a configuration file and
constructs a psql command to connect to the configured instance of postgres.
We would like to include a search_path setting in the configuraration file
and have the wrapper use that to set the search_path for the psql session. I
tried using the -v flag (-vsearch_path=xxxx) with the psql command but
that did not work:

psql -h$SOCKET -U$USER -p$PORT -vsearch_path=$SCHEMAS $DBNAME

The search_path remains at the default setting:

iii=> show search_path;

search_path

----------------

"$user",public

(1 row)

Can anyone tell me how I can make this happen short of changing thesearch_path setting in postgresql.conf & restarting postgres?

In your users's home directory, place a '.psqlrc' file with the command 'set
search_path=<blah>'

http://www.postgresql.org/docs/8.3/static/app-psql.html

--Scott

#4Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Mary Sipple (#1)
Re: Set search_path for session

Mary Sipple wrote:

We have a script wrapper for psql which reads a configuration file and
constructs a psql command to connect to the configured instance of postgres.
We would like to include a search_path setting in the configuraration file
and have the wrapper use that to set the search_path for the psql session. I
tried using the -v flag (-vsearch_path=xxxx) with the psql command but that
did not work:

psql -h$SOCKET -U$USER -p$PORT -vsearch_path=$SCHEMAS $DBNAME

This should work:

export PGOPTIONS="-c search_path=$SCHEMAS"
psql -h$SOCKET -U$USER -p$PORT $DBNAME

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

#5Scott Marlowe
scott.marlowe@gmail.com
In reply to: Mary Sipple (#1)
Re: Set search_path for session

On Fri, Apr 17, 2009 at 8:47 AM, Mary Sipple <msipple@iii.com> wrote:

We have a script wrapper for psql which reads a configuration file and
constructs a psql command to connect to the configured instance of postgres.
We would like to include a search_path setting in the configuraration file
and have the wrapper use that to set the search_path for the psql session. I
tried using the -v flag (-vsearch_path=xxxx) with the psql command but that
did not work:

Can anyone tell me how I can make this happen short of changing the
search_path setting in postgresql.conf & restarting postgres?

You can also alter user or database as well.

alter user abc set search_path='xyz','public';

#6Mary Sipple
msipple@iii.com
In reply to: Alvaro Herrera (#4)
Re: Set search_path for session

Thanks everyone!

A follow up question: Is there any way to set the search_path to all
existing schemas? I'm looking for some kind of wild card method that will
automatically pick up every schema.

Thanks, Mary