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

Running .psqlrc from a custom location

From: Netzach <psql-novice(at)netzach(dot)co(dot)il>
To: pgsql-novice(at)postgresql(dot)org
Subject: Running .psqlrc from a custom location
Date: 2008-06-01 09:27:12
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-novice
Hi folks,

I use a hack to make psql automatically set search_path to the relevant 
schema for the dump directory I am currently working in. I achieved this 
by running a wrapper script that changed the HOME environment variable, 
setting a variable on the command line, and having the .psqlrc in the 
custom location use that variable to set the search path. I just 
upgraded to 8.1 from 7.4 and my hack stopped working - apparently psql 
does not use the $HOME variable any more.

My scripts are included below. I do not wish to run these commands every 
time I use psql, only when I run it from the wrapper script. As far as I 
am aware there is no way of setting search_path/schema from the command 

If somebody could suggest an alternative way of causing psql to run a 
.psqlrc file from an arbitrary location, or even better, a way of 
manually specifying search_path when starting psql, I will be eternally 



--- BEGIN specialdirectory/

[ -f dbname.txt ] && PGDATABASE=`cat dbname.txt`
[ -f schemaname.txt ] && SCHEMANAME=`(echo '-v schema='\`cat schemaname.txt\`)`
[ -f encoding.txt ] && PGENCODING=`(echo '-v encoding='"\`cat encoding.txt\`")`
[ -f user.txt ] && PGUSER=`(echo -U; cat user.txt; echo -h localhost)`
PGHOST=`[ -f host.txt ] && (echo '-h'; cat host.txt) || \
        [ -f user.txt ] && echo ' -h localhost'`

HOME=`dirname \`readlink $0 || echo $0\`` \
--- END

--- BEGIN specialdirectory/.psqlrc
SET search_path TO :schema;
SET client_encoding TO :encoding;
--- END .psqlrc


pgsql-novice by date

Next:From: Tom LaneDate: 2008-06-01 14:37:15
Subject: Re: Running .psqlrc from a custom location
Previous:From: Vyacheslav KalininDate: 2008-05-30 20:57:48
Subject: Re: need help with drop table command

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