[prev in list] [next in list] [prev in thread] [next in thread]
List: postgresql-general
Subject: Re: [GENERAL] psql & unix env variables
From: Achilleas Mantzios <achill () matrix ! gatewaynet ! com>
Date: 2012-08-31 9:29:08
Message-ID: 1494985.CJ8A5OchKv () smadev ! internal ! net
[Download RAW message or body]
On Î Î Ï 31 Î Ï Î 2012 09:19:26 Chris Angelico wrote:
> On Thu, Aug 30, 2012 at 4:42 PM, Achilleas Mantzios
> <achill@smadev.internal.net> wrote:
> > I have found useful the use of variable assignment in psql, e.g.
> >
> > #!/bin/sh
> >
> > # lets say you have some var with a value, or even populate some var with a value from
> > # psql as shown below
> > somevar=`psql -P pager=off -q -t -c "SELECT foo from bar" | head -1 | sed -e 's/ //g'`
> >
> > # now use that variable in psql, (what you want to achieve), but in more tight manner
> > # than simple shell substitution (see -v switch and : notation)
> >
> > psql -P pager=off -q -v somevar=$somevar -c "select foo2 from bar2 where var=:somevar"
>
> At this point, I have to ask: Why not switch to a language with actual
> Postgres bindings? Try Python, or Pike, or something; I'm sure it's
> going to be easier than doing everything through shell scripts.
>
or perl, or php, or java, etc...
actually we "switched" to java some 11 years ago to build our infrastructure,
but occasionally (or not so occasionally, but rather being part of the architecture)
still sh/bach/tcsh/perl are heavily used and have their place.
Its all about taste/preference and not easily jumping into overkill mode.
OTOH the OP asked for doing exactly what -v (--set) var assignments are supposed to do.
(lift shell substitution ambiguities about escaping and var expansion)
> ChrisA
>
>
>
-
Achilleas Mantzios
IT DEPT
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic