Solusi kerja yang saya miliki saat ini adalah membuat tampilan sementara, yang dapat dideklarasikan melalui beberapa baris, lalu pilih darinya di \copy
perintah, yang cocok dengan nyaman di satu baris.
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