在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@localhost16384]du
-sh
6.3M    
(4)如果想用delete清空该表,然后真正清空硬盘空间
mydb=# delete from foo;
DELETE 10000
然后在命令行:
[postgres@localhost ~]$ /home/postgres/db/master/pgsql/bin/vacuumdb mydb
然后再用第3步中的看看,是不是又减少到最初的几兆(我的大约是6M)空间了。

PostgreSQL增删数据命令示例的更多相关文章

  1. 爹地,我找到了!,15个极好的Linux find命令示例

    爹地,我找到了!, 15个极好的Linux find命令示例 英文原文:Daddy, I found it!, 15 Awesome Linux Find Command Examples 标签: L ...

  2. 30个实用的Linux find命令示例

    除了在一个目录结构下查找文件这种基本的操作,你还可以用find命令实现一些实用的操作,使你的命令行之旅更加简易. 本文将介绍15种无论是于新手还是老鸟都非常有用的Linux find命令. 首先,在你 ...

  3. 15个极好的Linux find命令示例(二)

    前阵子,我们审查了15件实事 find命令的例子(第一部分).查找命令可以做很多比只是在寻找基于名称的文件 (第2部分)在这篇文章中,让我们来讨论15高级find命令的例子, 包括-根据它访问,修改或 ...

  4. MongoDB中导入数据命令的使用(mongoimport)

    MongoDB中导入数据命令的使用(mongoimport) 制作人:全心全意 语法: mongoimport <options> <file> 介绍: 该命令可以将CSV,T ...

  5. iptables 常用命令示例

    一.常用命令示例: 1.命令 -A, --append 范例:iptables -A INPUT -p tcp --dport 80 -j ACCEPT 说明 :新增规则到INPUT规则链中,规则时接 ...

  6. Postgresql数据库数据简单的导入导出

    Postgresql数据库数据简单的导入导出 博客分类: DataBase postgres  命令操作: 数据的导出:pg_dump -U postgres(用户名)  (-t 表名)  数据库名( ...

  7. Salesforce Apex 使用JSON数据的示例程序

    本文介绍了一个在Salesforce Apex中使用JSON数据的示例程序, 该示例程序由以下几部分组成: 1) Album.cls, 定了了封装相关字段的数据Model类 2) RestClient ...

  8. 爹地,我找到了!15个极好的Linux find命令示例

    爹地,我找到了!15个极好的Linux find命令示例 http://blog.jobbole.com/48931/ 妈咪,我找到了!15个实用的Linux find命令示例 http://blog ...

  9. 股票数据调用示例代码php

    <!--?php // +---------------------------------------------------------------------- // | JuhePHP ...

随机推荐

  1. vim多行注释和取消多行注释

    多行注释: 1. 进入命令行模式,按ctrl + v进入 visual block模式(可视快模式),然后按j, 或者k选中多行,把需要注释的行标记起来 2. 按大写字母i,再插入注释符,例如// 3 ...

  2. 发送有序广播Ordered Broadcast

    import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.vi ...

  3. HBase High Level Architecutre

  4. Oracle连接查询内容整理

    --内连接--select t.*,b.bumenmc from T_HQ_RYXX t,t_hq_bm b where t.bum = b.bumenbm--select * from t_hq_r ...

  5. HDU 3255 扫描线(立方体体积并变形)

    Farming Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Su ...

  6. 常州培训 day7 解题报告

    最后一天..有些感慨,这七天被虐的感动万分 第一题: 题目大意: 求出 n*i(i=1,2,3....n) mod p的逆元  n<p<=3000000 ,p是质数. 之前写过了,懒得再写 ...

  7. wcf精通1-15

    随笔- 197  文章- 0  评论- 3407  十五天精通WCF——第一天 三种Binding让你KO80%的业务   转眼wcf技术已经出现很多年了,也在.net界混的风生水起,同时.net也是 ...

  8. WP8 学习 ApplicationBar 的创建 XAML代码

    phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar Opacity="0.1" IsVis ...

  9. 纯JS文本在线HTML编辑器KindEditor

    KindEditor(http://www.kindsoft.net)是一款比较专业,主流,好用的在线HTML编辑器. 它除了可以将文本进行编辑.将Word中的内容复制进来外,本身还可以拖动缩放(右下 ...

  10. Hibernate缓存机制 (2013-07-02 13:51:32)转载▼

    标签: java web hibernate 缓存 代码        分类: javaweb 缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为了减少应用程序对物理数据源访 ...