管道将命令插入到psql工具中

时间:2013-04-13 10:46:32

标签: database perl postgresql psql

我需要创建一个perl脚本,它接受2个参数(int runid和int iters),然后通过在重复时间内重复插入一个带有关联runid的随机数,填充postgresql数据库中的表。我有这个简单的脚本来使用DBI,它是perl最常用的数据库接口,但是,我认为这应该可以通过将插入命令管道输入到postgresql的psql工具中来实现。但是,我对如何开始感到困惑。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您也可以使用一个带generate_series()的简单SQL命令:

INSERT INTO tbl (runid, rnd_col)
SELECT <runid>, (random()*1000)::int
FROM   generate_series(1, <iters>)

这会插入iters行,其中0到1000之间的随机integer数字。可根据您的需要进行调整。将比您可能想出的任何脚本更快。

来自psql:

psql $connection_parameters -c $SQL_from_above
相关问题