如何使用pgagent安排Postgres中JOB的计时

时间:2017-10-05 10:46:10

标签: postgresql jobs job-scheduling pgagent

我创建了一份使用pgagent的工作,我已经安排了每5分钟,以下是代码:

$Date1 = DateTimeImmutable::createFromFormat('Y-m-d' '2017-01-01');

但是当我检查其统计数据(在pgadmin中)或通过查询“select * from pgagent.pga_job;”它显示作业以1小时的间隔运行。

例如:如果上次作业运行时间为 2017-10-05 03:05:00.703287-07 ,则显示下一个运行时间: 2017-10-05 04 :05:00-07

请帮助定时参数。我想每天每隔5分钟就开始这项工作。

此致

1 个答案:

答案 0 :(得分:1)

你尝试过这样的事吗?

INSERT INTO pgagent.pga_schedule 
(jscid, jscjobid, jscname, jscdesc, jscminutes, jschours, jscweekdays, jscmonthdays, jscmonths, jscenabled, jscstart, jscend)
VALUES(<SchId>, 29, 'minutly', '', '{t,f,f,f,f,t,f,f,f,f,t,f,f,f,f,t,f,f,f,f,t,f,f,f,f,t,f,f,f,f,t,f,f,f,f,t,f,f,f,f,t,f,f,f,f,t,f,f,f,f,t,f,f,f,f,t,f,f,f,f}', '{f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f}', '{f,f,f,f,f,f,f}', '{f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f}', '{f,f,f,f,f,f,f,f,f,f,f,f}', true, '2017-10-07 00:00:00', NULL);

基本上,这个插件正在做的是每小时标记分钟0,5,10,15,20,25,30,35,40,45,50和55。

我不知道你为什么要使用insert语句创建它,因为GUI提供了一种非常简洁的方式来安排作业。使用GUI可以完成相同的配置:

enter image description here

我希望它有所帮助: - )