Craig Ringer wrote:
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.
Also appear to get it here on single-line queries:
markMLl=> \copy (select * from pg_settings) to '/tmp/settings.csv' with
csv header;
\copy: parse error at "select"
markMLl=>
However my psql and server are rather old which could be an issue
(8.1.19 to server 8.4 if I recall correctly).
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general