PostgreSQL のCSV 機能は使える!
PostgreSQLは独自仕様の COPY 文を持っています。この COPY文を使うとテーブルに簡単にCSVファイルが読み込めます。
"名前","会社","email" "吉田裕美","有限会社 EY-Office","yy@ey-office.com" ..... .....
上のようなCSVデータを、
Table "public.customers" Column | Type | Modifiers ------------+-----------------------------+-------------------------------------------------------- id | integer | not null default nextval('customers_id_seq'::regclass) name | character varying(255) | company | character varying(255) | email | character varying(255) | created_at | timestamp without time zone | updated_at | timestamp without time zone |
このようなテーブルに読み込むには
copy customers(name,company,email) from 'CSVファイルの絶対パス' with csv header;
を実行すればOKです。 Execlローカルルール(らしい) "" も正しく処理されますし、header指定で最初の行を飛ばしてくれます。
また、文字コードがCSVとRDBで異なる場合は、\encoding でCSVの文字コードを指定すればOKです :-)
CSV出力の方もかなり使えます。
詳しくは http://www.postgresql.jp/document/pg833doc/html/sql-copy.html