Postgres快速创建大量测试数据

Posted 何事西风悲画扇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Postgres快速创建大量测试数据相关的知识,希望对你有一定的参考价值。

DROP TABLE  IF EXISTS color;
CREATE TABLE color(
    cname VARCHAR(20),
    remark VARCHAR(20)
);
insert into color select round(random()*100),round(random()*1000) from generate_series(1,10000000);

插入10000000数据之后,用时51秒

对于generate_series函数,还可以生成时间:

david=# select generate_series(now(), now() + 7 days, 1 day);
        generate_series        
-------------------------------
 2013-04-03 14:22:26.391852+08
 2013-04-04 14:22:26.391852+08
 2013-04-05 14:22:26.391852+08
 2013-04-06 14:22:26.391852+08
 2013-04-07 14:22:26.391852+08
 2013-04-08 14:22:26.391852+08
 2013-04-09 14:22:26.391852+08
 2013-04-10 14:22:26.391852+08
(8 rows)

david=# select generate_series(to_date(20130403,yyyymmdd), to_date(20130404,yyyymmdd), 3 hours);  
    generate_series     
------------------------
 2013-04-03 00:00:00+08
 2013-04-03 03:00:00+08
 2013-04-03 06:00:00+08
 2013-04-03 09:00:00+08
 2013-04-03 12:00:00+08
 2013-04-03 15:00:00+08
 2013-04-03 18:00:00+08
 2013-04-03 21:00:00+08
 2013-04-04 00:00:00+08
(9 rows)

 

以上是关于Postgres快速创建大量测试数据的主要内容,如果未能解决你的问题,请参考以下文章

vs2003:快速片段工具

用于创建数据库、运行测试的 Django / postgres 设置

MySQL怎样快速插入大量测试数据

Django 测试错误“创建数据库的权限被拒绝” - 使用 Heroku Postgres

具有运行时 pojos 的带有 Hibernate 的 OSGi 片段包

MySQL 快速删除大量数据