On Mar 23, 2009, at 7:05 AM, Tom Lane wrote:
> Erik Jones <ejones@engineyard.com> writes:
>> On Mar 22, 2009, at 9:03 PM, Greenhorn wrote:
>>> How do I use \c (or any other psql commands beginning with a "\")
>>> in a
>>> bash script?
>
>> For multi-line input to a psql call in a bash (or any decent shell)
>> script, I'd use a here document:
>
> Or echo/cat the script into psql's stdin, if you prefer that type of
> notation. The reason you have to do this is that psql doesn't
> recognize
> backslash commands in a -c string. There's a school of thought that
> doesn't want us to allow multiple commands in a -c string, even.
Hmm... Apparently it does recognize them as long as the backslash is
the first character in the command string:
$ psql -c '\d' postgres
No relations found.
$ psql -c ' \d' postgres
ERROR: syntax error at or near "\"
LINE 1: \d
^
Is that expected behavior?
Erik Jones, Database Administrator
Engine Yard
Support, Scalability, Reliability
866.518.9273 x 260
Location: US/Pacific
IRC: mage2k