Postgresでダミーデータを大量に作成したい時などありますよね。
負荷耐久テストだったりレポートの確認だったりと、
開発の上ではこのような事は結構あると思います。
Postgres8からGENERATE_SERIESという関数があり、
これが大変便利な関数。
基本的は以下の通り。
SELECT s FROM generate_series(1,10) as s(a);
1~10までの数字が表示されると思います。
こちらを利用して早速ダミーデータ投入。
※事前にuser_id,user_code,createdのカラムがあるtablesというテーブルを要作成。
INSERT INTO tables
(
user_id,
affiliate_code,
created
)
SELECT
s as user_id,
'u_' || s as user_code,
CAST('2006-1-1' as TIMESTAMP) + CAST(s.a ||' seconds' as interval) as created
FROM
GENERATE_SERIES(1,1000) as s(a);
これでtablesというテーブルに1000レコードのデータが
生成されたかと思います。
以外とダミーデータ作成というのは手間がかかるものですが、
これで少しは手間を省けるかなといったところです。
