Closed3
postgresql DB に 大量データを投入する
下記のSO記事を参考にして、COPY コマンドを調べてみたかった
そして、下記の記事を見た。なるほど!
PostgreSQLのCOPYコマンドは、テーブルとDBサーバ内のファイル間でデータのやり取り(読み込み/書き出し)をするためのコマンドです。
負荷テスト用に大量データを投入する際に利用したり、テキストベースでバックアップを取ったりする際に利用することができます。
COPY コマンドを使うとデータをファイルで事前に用意しないと行けない。ファイルに大量のデータを入れるのも偶に面倒な場合もあるので、その場合はgenerate_series()関数を使用する方法の登場だ!
- 例:1000万行が入った1GB超のファイルを用意する必要はありません。SQL1文で作成できます。
INSERT INTO customer (id,name)
SELECT
i, format('ラクス太郎%s', i)
FROM
generate_series(1,10000000) as i
;
性能的には COPY コマンドとほぼ同じということですが、結構楽!
このスクラップは2023/09/25にクローズされました