如何自动填充数据库表

时间:2020-06-18 07:21:35

标签: postgresql

我在Postgres中有一些表要填充虚拟数据。 是否有工具或工具可以帮助解决这个问题?

  1. 遵守约束
  2. 尊重外键
  3. 给定的架构定义(选定的表),自动填充数据

2 个答案:

答案 0 :(得分:1)

您可以尝试在postgresql中读取generate_series(),此函数可用于为表提供伪数据。

insert into testscheme.testtable (id, name) 
    select generate_series, 'name1' from generate_series(1,250)

这将在测试表中提供250行。您可以在此基础上进一步发展。例如,用主键约束替换1,250。例如,

nextval('testtable_pk'::regclass)

如果您希望使用外键,请尝试使用子选择: 按random()进行PostgreSQL排序,以随机顺序选择行:

select MAX(names) from testscheme.names ORDER BY random()

如果将所有内容包装在一个函数中,则可以编写一个脚本来填充内容:)希望我能帮上忙。

这是generate_series()的文档 https://www.postgresql.org/docs/12/functions-srf.html

答案 1 :(得分:1)

与您所说的不完全相同,但是在这里您可以找到一个python程序,该程序(使用伪数据自动创建和/或填充表格)。对于任何有兴趣的人,如果需要,请查看here

enter image description here