###前提・実現したいこと
複数のCSVをpostgreSQLで次の順で読み込みたいと考えております
①各CSVをcopy文で読み込む
②読み込んだものを統合する
なお、先にCSVをwindowsのコマンドで統合し読み込むことはできたのですが、
100個程度計30GbのCSVを統合するのに半日以上かかり、
もう少し負荷を減らせないかと思い上記の方法を考えております。
※質問を分けたほうがいい場合はお申し付けください。
###元データ
moji1.csv
NO,komoji,omoji
1,a,A
moji2.csv
NO,komoji,omoji
2,b,B
moji3.csv
NO,komoji,omoji
3,c,C
##実現したいもの
テーブルMOJI
NO|komoji|omoji
1|a|A
2|b|B
3|c|C
##自作コード
不明な部分は/* 不明(理由) */と表記
--格納するテーブル
create table MOJI(
no,int
komoji,text
omoji,text
);
--ループ開始
--forでcsv読み込み
for i in 1..3 loop
--一時テーブル作成
create temp table mojitemp(
no,int
komoji,text
omoji,text
);
--csv読み込み
copy mojitemp from E'C:~/* 不明(ファイル名をどう表記するかわかりません) */.csv' with csv header;
--統合先へ
insert into MOji
select *
from mojitemp;
--iを1増やす
1=i+1;
end loop;
――loopおわり
###補足情報(言語/FW/ツール等のバージョンなど)
windows10
PostgreSQL 9.6.5
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。