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