On mån, 2009-11-16 at 12:28 +0100, Pavel Stehule wrote:
> 2009/11/16 Peter Eisentraut <pete...@gmx.net>:
> > On mån, 2009-11-16 at 10:19 +0100, Pavel Stehule wrote:
> >> wrong:
> >>
> >> pa...@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.


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to