From: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
---|---|
To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: psql command line variables are unknown when -c SQL statement are executed |
Date: | 2009-11-18 15:47:10 |
Message-ID: | 1258559230.3497.48.camel@fsopti579.F-Secure.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On mån, 2009-11-16 at 12:28 +0100, Pavel Stehule wrote:
> 2009/11/16 Peter Eisentraut <peter_e(at)gmx(dot)net>:
> > On mån, 2009-11-16 at 10:19 +0100, Pavel Stehule wrote:
> >> wrong:
> >>
> >> pavel(at)nemesis ~]$ psql postgres -v x=10 -c "select :x"
> >> ERROR: syntax error at or near ":"
> >> LINE 1: select :x
> >> ^
> >
> > This is documented in the psql man page.
>
> I don't see it, Peter?
-c command
--command command
Specifies that psql is to execute one command string,
command, and then exit. This is useful in shell scripts.
command must be either a command string that is
completely parsable by the server (i.e., it contains no psql specific
features), or a single backslash command. Thus you cannot
mix SQL and psql meta-commands with this option.
> Is it some reason for it? I don't understand, why this order is correct:
>
> execute statement
> process external variables
> finish
Well, -c works a bit different so that it is possible at all to send a
command to the server without any psql processing in the way. It's a
poor excuse, from a user's point of view, but that's historically why
it's been kept that way.
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2009-11-18 16:03:25 | Re: psql command line variables are unknown when -c SQL statement are executed |
Previous Message | Kris Jurka | 2009-11-18 14:29:50 | Re: BUG #5177: Concurrency problem in AbstractJdbc23PooledConnection |