"Daniel Verite" <daniel@manitou-mail.org> writes:
> Tom Lane wrote:
>> There was a proposal awhile back to provide a variant of \copy
>> that works more like \g, so you'd enter something like
>>
>> COPY (SELECT ...) TO STDOUT
>> \copyto somefile
>>
>> which'd be way more flexible --- the COPY command wouldn't have to
>> fit on one line, for one thing. But I don't think that's gone
>> anywhere yet.
> That would be the proof-of-concept patch posted a few weeks ago here:
> https://www.postgresql.org/message-id/15dadc39-e050-4d46-956b-dcc4ed098753@manitou-mail.org
> There didn't seem to be much of community buy-in for this idea, so I've it
> let rest
> for the moment. On one hand, it solves actual problems such as the one
> mentioned in this bug report, on the other hand I can feel the discomfort
> of having 3 forms of \copy, in addition to COPY, and that maybe it would
> create more confusion than benefits, overall.
Yeah, that is an issue all right. It occurs to me that for the COPY TO
side, we don't really need any new command: we could just make \g work
for that case. (Testing, it seems that plain "\g" works fine already,
but "\g foo" fails to redirect the COPY output, which seems to me to
be arguably a bug as well as lack of useful functionality.)
That approach does nothing for COPY FROM, though. On the other hand,
it's not needed nearly as bad for COPY FROM, since you can't put a
giant sub-SELECT into that.
regards, tom lane