Re: Wrapper to use correct version of psql? - Mailing list pgsql-general

From Greg Smith
Subject Re: Wrapper to use correct version of psql?
Date
Msg-id Pine.GSO.4.64.0807261810580.7067@westnet.com
Whole thread Raw
In response to Wrapper to use correct version of psql?  (Steve Atkins <steve@blighty.com>)
List pgsql-general
On Sat, 26 Jul 2008, Steve Atkins wrote:

> The obvious thing to do is write a wrapper that will transparently run the
> right version of psql for the database it's connecting to. Has anyone already
> done that?

Several times, and I never seem to have the previous rev around when
writing a new one (writing useful error checks is the time consuming
part).  The archives to my rescue:  the attached is something I just
whipped together which hopefully will be the last time I do this from
scratch again 'cause I can just find this post instead.  This presumes
you've installed all the versions into a directory tree at
/opt/pgsql/<version>, and you have to tweak the end of the script to make
it run that command instead of just printing the output.

Sample session using the script:

$ cat systems
aaa     hosta   5432    8.2
bbb     hostb   5432    8.3
$ ./runpsql aaa
/opt/pgsql/8.2/bin/psql -h hosta -p 5432
$ ./runpsql bbb
/opt/pgsql/8.3/bin/psql -h hostb -p 5432
$ ./runpsql ccc
system "ccc" not found in systems listing file at: systems

It appends the stuff after the system name to the psql command, but you do
have to worry about shell escaping with this simple implementation;
example:

$ ./runpsql bbb -Atc \"select 1\"
/opt/pgsql/8.3/bin/psql -h hostb -p 5432 -Atc "select 1"

--
* Greg Smith gsmith@gregsmith.com http://www.gregsmith.com Baltimore, MD

Attachment

pgsql-general by date:

Previous
From: Rich Shepard
Date:
Subject: Re: Problems Restarting PostgreSQL Daemon
Next
From: "Andrej Ricnik-Bay"
Date:
Subject: Re: Problems Restarting PostgreSQL Daemon