ペンドリブン

1985年生まれ 仕事・家庭・etc. 雑記

*

Postgresql に大量のデータを取り込む方法

      2016/01/15

めちゃくちゃ多くはないだろうけど、うん十万件のデータを一気に Postgresql に突っ込みたいときに、はじめはINSERT分で行おうとしていて、メモリ不足で怒られた。

  

チマチマ入れていくしかないかなぁなんて、アホ丸出しで思ってたところCOPYコマンドというものを発見した。
COPY FROMコマンドを利用すると、ファイルからテーブルにデータをコピーしてくれるとのこと。

COPY テーブル名 FROM ファイルのパス WITH CSV;

このCOPY FROMコマンドを利用したところ、40万件ぐらいのデータが30秒ほどで入った。

試してはないけど、HEADERオプションを使えば CSV ファイルの先頭行にテーブルと同じカラム名のヘッダー行を用意することで
テーブルとうまくマッピングしてくれるんじゃなかろうかと思う。

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

 - プログラム