]> granicus.if.org Git - postgresql/commit - src/bin/psql/common.c
Fix psql's "\g target" meta-command to work with COPY TO STDOUT.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 26 Jan 2019 19:15:42 +0000 (14:15 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 26 Jan 2019 19:15:42 +0000 (14:15 -0500)
commit6d3ede5f1c654f923b2767b0b0c3b09569adaa18
tree6407383b0ce5afe73494ba06be268782cf27f55a
parent1e4730c639acb967b8e40e6f33e81ebe1721ea5f
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
doc/src/sgml/ref/psql-ref.sgml
src/bin/psql/common.c
src/bin/psql/copy.c