PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Verwenden Sie \copy von psql für eine mehrzeilige Abfrage

Die funktionierende Lösung, die ich gerade habe, besteht darin, eine temporäre Ansicht zu erstellen, die über mehrere Zeilen deklariert werden kann, und dann in \copy daraus auszuwählen Befehl, der bequem in eine Zeile passt.

db=> CREATE TEMP VIEW v1 AS
db->   SELECT i
db->   FROM generate_series(1, 2) AS i;
CREATE VIEW
db=> \cd /path/to/a/really/deep/directory/structure/on/client
db=> \copy (SELECT * FROM v1) TO 'out.csv' csv header
COPY 2
db=> DROP VIEW v1;
DROP VIEW