Abyste mohli exportovat soubor na jiný server, máte dvě možnosti:
- Vytvoření sdílené složky mezi dvěma servery, aby do tohoto adresáře měla přístup i databáze.
COPY (SELECT field1,field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;
- Spuštění exportu z cílového serveru pomocí
STDOUT
zCOPY
. Pomocípsql
můžete toho dosáhnout spuštěním následujícího příkazu:
psql yourdb -c "COPY (SELECT * FROM your_table) TO STDOUT" > output.csv
UPRAVIT :Řešení problému s poli obsahujícími odřádkování (\n
)
V případě, že se chcete zbavit odřádkování, použijte REPLACE
funkce.
Příklad:
SELECT E'foo\nbar';
?column?
----------
foo +
bar
(1 Zeile)
Odebrání posunu řádku:
SELECT REPLACE(E'foo\nbaar',E'\n','');
replace
---------
foobaar
(1 Zeile)
Takže vaše COPY
by měl vypadat takto:
COPY (SELECT field1,REPLACE(field2,E'\n','') AS field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;