För att du ska kunna exportera filen till en annan server har du två alternativ:
- Skapa en delad mapp mellan de två servrarna, så att databasen också har åtkomst till denna katalog.
COPY (SELECT field1,field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;
- Utlöser exporten från målservern med
STDOUT
avCOPY
. Använderpsql
du kan uppnå detta genom att köra följande kommando:
psql yourdb -c "COPY (SELECT * FROM your_table) TO STDOUT" > output.csv
REDIGERA :Löser problemet med fält som innehåller radmatningar (\n
)
Om du vill bli av med radflödena, använd REPLACE
funktion.
Exempel:
SELECT E'foo\nbar';
?column?
----------
foo +
bar
(1 Zeile)
Ta bort radmatningen:
SELECT REPLACE(E'foo\nbaar',E'\n','');
replace
---------
foobaar
(1 Zeile)
Så din COPY
ska se ut så här:
COPY (SELECT field1,REPLACE(field2,E'\n','') AS field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;