postgres importar from example ejemplo create postgresql client-side export-to-csv psql

postgresql - importar - Use psql''s / copy para una consulta multilínea



importar csv a postgres (1)

Esta es una pregunta de seguimiento de esta respuesta para " Guardar la salida PL / pgSQL de PostgreSQL a un archivo CSV ".

Necesito escribir un archivo CSV del lado del cliente con el comando /copy psql. Un trazador de líneas funciona:

db=> /copy (select 1 AS foo) to ''bar.csv'' csv header COPY 1

Sin embargo, tengo largas consultas que abarcan varias líneas. No necesito mostrar la consulta, ya que parece que no puedo extender esta última línea sin un error de análisis:

db=> /copy ( /copy: parse error at end of line db=> /copy ( // /copy: parse error at end of line db=> /copy (" /copy: parse error at end of line db=> /copy "( /copy: parse error at end of line db=> /copy // /copy: parse error at end of line

¿Es posible usar /copy con una consulta que abarca varias líneas? Estoy usando psql en Windows.


La solución de trabajo que tengo ahora es crear una vista temporal , que se puede declarar en múltiples líneas, luego seleccionarla en el comando /copy , que se ajusta 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