postgresql 生成测试数据

此处,我简单的写一个例子,供参考(在Postgresql9.1下面做的):

(1)准备知识

针对 Postgres生成数据方法

生成序列

SELECT * FROM generate_series(1,5);

生成date

SELECT date(generate_series(now(), now() + '1 week', '1 day'));

生成integer 随机数

SELECT (random()(210^9))::integer;

生成numeric 随机数

SELECT (random()*100.)::numeric(4,2);

生成字符串

SELECT substr('abcdefghijklmnopqrstuvwxyz',1,(random()*26)::integer);

生成重复串

SELECT repeat('1',(random()*40)::integer);

举例:

SELECT generate_series(1,10) as key,(random()100.)::numeric(4,2),repeat('1',(random()25)::integer) ORDER BY random();

结果:

-- 生成随机汉字符串
create or replace function gen_hanzi(int) returns text as

$$ declare res text; begin if $1 >=1 then select string_agg(chr(19968+(random()*20901)::int), '') into res from generate_series(1,$1); return res; end if; return null; end; $$

language plpgsql strict;

Postgresql生成大量测试数据

Postgresql快速写入/读取大量数据(.net)

PostgreSQL 如何实现批量更新、删除、插入

postgresql----COPY之表与文件之间的拷贝

上一篇:MVC之一、预备知识储备


下一篇:Oracle之自定义函数