我想生成大数据样本(差不多100万条记录)来研究postgresql中的tuplesort.c的多相合并,我希望模式如下:
CREATE TABLE Departments (code VARCHAR(4), UNIQUE (code));
CREATE TABLE Towns (
id SERIAL UNIQUE NOT NULL,
code VARCHAR(10) NOT NULL, -- not unique
article TEXT,
name TEXT NOT NULL, -- not unique
department VARCHAR(4) NOT NULL REFERENCES Departments (code),
UNIQUE (code, department)
);
Run Code Online (Sandbox Code Playgroud)
如何使用generate_series和随机来做呢?非常感谢!
Clo*_*eto 36
要插入一百万行 Towns
insert into towns (
code, article, name, department
)
select
left(md5(i::text), 10),
md5(random()::text),
md5(random()::text),
left(md5(random()::text), 4)
from generate_series(1, 1000000) s(i)
Run Code Online (Sandbox Code Playgroud)
因为id是,serial所以没有必要包括它.