ファイルを別のサーバーにエクスポートするには、次の2つのオプションがあります。
- 2つのサーバー間に共有フォルダーを作成して、データベースもこのディレクトリにアクセスできるようにします。
COPY (SELECT field1,field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;
-
STDOUT
を使用してターゲットサーバーからのエクスポートをトリガーする ofCOPY
。psql
の使用 これは、次のコマンドを実行して実現できます。
psql yourdb -c "COPY (SELECT * FROM your_table) TO STDOUT" > output.csv
編集 :改行を含むフィールドの問題に対処する(\n
)
改行を削除したい場合は、REPLACE
を使用してください 機能。
例:
SELECT E'foo\nbar';
?column?
----------
foo +
bar
(1 Zeile)
改行の削除:
SELECT REPLACE(E'foo\nbaar',E'\n','');
replace
---------
foobaar
(1 Zeile)
つまり、COPY
次のようになります:
COPY (SELECT field1,REPLACE(field2,E'\n','') AS field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;