データベースのパフォーマンスを検証する場合や、データ移行を検証したい場合に、テストデータが必要になるケースがあります。
その際に、下記手順で簡単にテストデータを作成することが出来ます。
※ 本記事は、PostgreSQL 16.8で動作確認しましたが、バージョン問わず利用できます
データベースとテーブルの作成
テスト用に「testdb」を作成します。
create database testdb
作成したデータベースに、「test_table」というテーブルを作成します。
$ create table test_table (id int, test_number char(100));
実行クエリ
generate_series関数を利用して、ユニークなレコードを作成します。
$ INSERT INTO test_table (id,test_number)
SELECT
i,
format('test_number%s', i)
-- 1000件のデータを登録する
from generate_series(1,1000) as i;
--INSERT 0 1000--
※ 関数の詳細な仕様については下記リンクをご参照ください。
実行結果
select文で確認すると、テストデータが作成されたことを確認できます
select * from test_table ;
"id","test_number"
1,"test_number1"
2,"test_number2"
3,"test_number3"
4,"test_number4"
5,"test_number5"
6,"test_number6"
7,"test_number7"
8,"test_number8"
9,"test_number9"
・
・
・
989,"test_number989"
990,"test_number990"
991,"test_number991"
992,"test_number992"
993,"test_number993"
994,"test_number994"
995,"test_number995"
996,"test_number996"
997,"test_number997"
998,"test_number998"
999,"test_number999"
1000,"test_number1000"
(1000 rows)
さいごに
書き方さえわかれば簡単にテストデータを作成する事が出来ますので、ぜひ活用してください。
ただし、今回は簡易的なテストデータのため、JSON型の様なデータを扱ったパフォーマンス試験はできません。