CSVでインポート・エクスポート

CSVを読み取る

 COPY user_table ( user_id, name, age) from '/tmp/user.csv' WITH CSV;

CSVで表示(デリミタの変更)

 \pset tuples_only 
 \pset pager off
 \pset format unaligned
 \pset fieldsep ','

結果をファイルに書き出す

 \o '/tmp/result'
 select * from users;
 \o   (で元に戻す)

(シェルから)検索結果をCSVに出力する

 echo "select * from users" | psql -A -F ',' -t -U postgres some_db > users.csv
 
 -A 位置揃え無しの出力モード
 -F 'sep' フィールド区切り文字の指定
 -t ヘッダフッタを抑制する

COPY

 COPY (SELECT * FROM users LIMIT 3) TO '/tmp/users.csv' 
   (FORMAT 'csv', QUOTE '"', FORCE_QUOTE *, NULL " ", HEADER 1);

参考

http://www.postgresql.jp/document/9.2/html/sql-copy.html


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS