On 07/27/2012 09:28 PM, Ryan Kelly wrote:
> I recently switched from OSX to Linux and \copy in psql no longer
> accepts multi-line queries. For instance:
>
> \copy (
> select
> *
> from
> pg_settings
> ) to '/tmp/settings.csv' with csv header
>
> This works fine on OSX. On Linux I get:
> \copy: parse error at end of line
>
> Am I missing something here?
A wild guess: I'd say this is a consequence of the fact that psql on OS
X uses libedit, on Linux it uses readline.
Personally I had no idea that multiline \copy was possible at all. I've
always though the way backslash commands are EOL-terminated while
everything else is semicolon terminated is a bit of a wart, though.
I don't have an answer for you. Using the --no-readline argument makes
no difference on my 9.1.4 here. This may just be an area where libedit
is smarter than readline - or it might be that I'm totally wrong and the
real issue is something else entirely.
Thanks for making the effort to produce a good post with all the
detailed version info, exact error text, etc.
--
Craig Ringer