hillpig的个人博客分享 http://blog.sciencenet.cn/u/hillpig 畅想ing,思考ing,前行ing Email:bluevaley@gmail.com

博文

Postgresql生成大量测试数据

已有 13455 次阅读 2012-2-14 09:53 |个人分类:postgresql|系统分类:科研笔记| 生成, 测试数据

在PostgreSQL中如何用简单的几条SQL语句生成大量的测试数据呢?
此处,我简单的写一个例子,供参考(在Postgresql9.1下面做的):
(1)生成一万条测试数据的表foo
mydb=# create table foo(id bigint);
mydb=# insert into foo select * from generate_series(1,10000);
mydb=# select count(*) from foo;

当然如果您想知道执行该sql的时间,请在执行上述命令前设置:
mydb=# timing on
Timing is on.

最后说明一点的是,我的换了慢速的CPU的笔记本T61,插入一千万条记录要一分多钟 ,faint:
mydb=# insert into foo select * from generate_series(1,10000000);
INSERT 0 10000000
Time: 88694.944 ms
主要参考:
[1]PostgreSQL 之 生成测试数据,http://hi.baidu.com/hjzheng/blog/item/c78ad09320eb5297a877a4f6.html,
[2]http://www.depesz.com/2010/02/02/waiting-for-9-0-table-and-index-sizes/

(2)查看表foo占用的存储空间
mydb=# select pg_table_size('foo');
pg_table_size
---------------
       401408
(1 row)
若查看其中的index的空间或整个relation的空间,请参考:http://www.postgresql.org/docs/9.1/static/functions-admin.html ,或:http://www.postgresql.org/docs/9.1/static/functions-admin.html。

(3)查看整个mydb数据库占用的硬盘空间:
mydb=# SELECT oid from pg_database where datname='mydb';
 oid  
-------
16384
(1 row)
[postgres@localhost ~]$ cd /home/postgres/db/master/pgsql/data/base/16384   注释:这里是pgsql的data目录
[postgres@localhost 16384]$ du -sh
6.3M    
(4)如果想用delete清空该表,然后真正清空硬盘空间
mydb=# delete from foo;
DELETE 10000
然后在命令行:
[postgres@localhost ~]$ /home/postgres/db/master/pgsql/bin/vacuumdb mydb
然后再用第3步中的看看,是不是又减少到最初的几兆(我的大约是6M)空间了。


参考:
[1] http://www.postgresql.org/docs/9.1/static/functions-sequence.html
[2] http://www.postgresql.org/docs/9.1/static/datatype-numeric.html#DATATYPE-SERIAL
[3] 在postgresql中查看数据库/表占用的物理存储空间大小,http://blog.xupeng.me/2008/02/13/physical-storage-for-dbs-tables-in-postgre/
[4] Waiting for 9.0 – table and index sizes,http://www.postgresql.org/docs/9.1/static/functions-admin.html


加我私人微信,交流技术。




https://blog.sciencenet.cn/blog-419883-537217.html

上一篇:rhel6+postgresql8.4+postgis1.4+eclipse CDT3.6 调试环境搭建
下一篇:安装GreenPlum错误socket.gaierror解决办法
收藏 IP: 223.72.72.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-20 11:33

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部