pgsql: Fix psql's "\g target" meta-command to work with COPY TOSTDOUT. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix psql's "\g target" meta-command to work with COPY TOSTDOUT.
Date
Msg-id E1gnTQt-0007lk-H1@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix psql's "\g target" meta-command to work with COPY TO STDOUT.

Previously, \g would successfully execute the COPY command, but
the target specification if any was ignored, so that the data was
always dumped to the regular query output target.  This seems like
a clear bug, so let's not just fix it but back-patch it.

While at it, adjust the documentation for \copy to recommend
"COPY ... TO STDOUT \g foo" as a plausible alternative.

Back-patch to 9.5.  The problem exists much further back, but the
code associated with \g was refactored enough in 9.5 that we'd
need a significantly different patch for 9.4, and it doesn't
seem worth the trouble.

Daniel Vérité, reviewed by Fabien Coelho

Discussion: https://postgr.es/m/15dadc39-e050-4d46-956b-dcc4ed098753@manitou-mail.org

Branch
------
REL9_5_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/cda1e27fb7064e499ea499776bad13036d9c4961

Modified Files
--------------
doc/src/sgml/ref/psql-ref.sgml | 22 +++++++++++++---
src/bin/psql/common.c          | 57 ++++++++++++++++++++++++++++++++++++------
src/bin/psql/copy.c            |  7 ++++--
3 files changed, 73 insertions(+), 13 deletions(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: Make regression test output locale-independent
Next
From: Andres Freund
Date:
Subject: pgsql: Change function call information to be variable length.