PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Utilisez \copy de psql pour une requête multiligne

La solution de travail que j'ai actuellement est de créer une vue temporaire, qui peut être déclarée sur plusieurs lignes, puis de la sélectionner dans le \copy commande, qui tient confortablement sur une seule ligne.

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