PostgreSQLテストデータ作成方法

データベースのパフォーマンスを検証する場合や、データ移行を検証したい場合に、テストデータが必要になるケースがあります。

その際に、下記手順で簡単にテストデータを作成することが出来ます。

※ 本記事は、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型の様なデータを扱ったパフォーマンス試験はできません。

執筆担当者プロフィール
森 尊臣

森 尊臣(日本ビジネスシステムズ株式会社)

ハイブリッドクラウド本部所属。 SQL ServerやAzureを中心としたシステムの設計・構築に携わっています。

担当記事一覧