Agar Anda mengekspor file di server lain, Anda memiliki dua opsi:
- Membuat folder bersama antara dua server, sehingga database juga memiliki akses ke direktori ini.
COPY (SELECT field1,field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;
- Memicu ekspor dari server target menggunakan
STDOUT
dariCOPY
. Menggunakanpsql
Anda dapat mencapainya dengan menjalankan perintah berikut:
psql yourdb -c "COPY (SELECT * FROM your_table) TO STDOUT" > output.csv
EDIT :Mengatasi masalah bidang yang berisi umpan baris (\n
)
Jika Anda ingin menyingkirkan umpan baris, gunakan REPLACE
fungsi.
Contoh:
SELECT E'foo\nbar';
?column?
----------
foo +
bar
(1 Zeile)
Menghapus umpan baris:
SELECT REPLACE(E'foo\nbaar',E'\n','');
replace
---------
foobaar
(1 Zeile)
Jadi COPY
akan terlihat seperti ini:
COPY (SELECT field1,REPLACE(field2,E'\n','') AS field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;