sql >> Base de Datos >  >> RDS >> PostgreSQL

Use \copy de psql para una consulta de varias líneas

La solución de trabajo que tengo ahora es crear una vista temporal, que se puede declarar en varias líneas, luego seleccionarla en \copy comando, que cabe cómodamente en una línea.

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