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レコードのデータが
生成されたかと思います。
以外とダミーデータ作成というのは手間がかかるものですが、
これで少しは手間を省けるかなといったところです。