Per poter esportare il file in un altro server hai due opzioni:
- Creazione di una cartella condivisa tra i due server, in modo che anche il database abbia accesso a questa directory.
COPY (SELECT field1,field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;
- Attivazione dell'esportazione dal server di destinazione utilizzando
STDOUT
diCOPY
. Usandopsql
puoi ottenerlo eseguendo il seguente comando:
psql yourdb -c "COPY (SELECT * FROM your_table) TO STDOUT" > output.csv
MODIFICA :Risoluzione del problema dei campi contenenti avanzamenti di riga (\n
)
Nel caso in cui desideri eliminare i feed di riga, utilizza REPLACE
funzione.
Esempio:
SELECT E'foo\nbar';
?column?
----------
foo +
bar
(1 Zeile)
Rimozione dell'avanzamento riga:
SELECT REPLACE(E'foo\nbaar',E'\n','');
replace
---------
foobaar
(1 Zeile)
Quindi il tuo COPY
dovrebbe assomigliare a questo:
COPY (SELECT field1,REPLACE(field2,E'\n','') AS field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;