Re: Switching from OSX to Linux, multi-line queries in \copy don't work anymore - Mailing list pgsql-general

From Ryan Kelly
Subject Re: Switching from OSX to Linux, multi-line queries in \copy don't work anymore
Date
Msg-id 20120727142749.GC1807@llserver.lakeliving.com
Whole thread Raw
In response to Re: Switching from OSX to Linux, multi-line queries in \copy don't work anymore  (Mark Morgan Lloyd <markMLl.pgsql-general@telemetry.co.uk>)
List pgsql-general
On Fri, Jul 27, 2012 at 02:06:01PM +0000, Mark Morgan Lloyd wrote:
> 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).
This works for me, it might be the case that your psql is too old.
Perhaps \copy didn't support queries until later?

-Ryan

pgsql-general by date:

Previous
From: Chris Angelico
Date:
Subject: Re: Terminating a rogue connection
Next
From: Igor Neyman
Date:
Subject: Re: information_schema.referential_constraints broken?