Pg_cron crontab日志

时间:2017-06-14 14:28:00

标签: postgresql cron scheduled-tasks

我们正在尝试在Postgresql中配置定期作业。 要做到这一点,我们已经安装在linux机器上,运行postgres 9.6 ,. citusdata pg_cron项目。

系统信息

Citusdata pg_cron项目

按照pg_cron存储库中的说明,我们在postgresql.conf中设置

下面的配置
app

然后,在db_name上,我们创建了EXTENSION pg_cron

shared_preload_libraries = 'pg_cron'   
cron.database_name = 'our db_name'

我们安排了第一个postgres工作:

CREATE EXTENSION pg_cron;

因此,创建了jobid 1并在表cron.job中列出。

我们预计在12:45将启动预定作业的命令。

但没有任何反应。

未创建testCron表,我们在任何日志中都没有跟踪。

我们还在/usr/src/pg_cron/include/pathnames.h中定义了LOG_FILE以启用日志记录。

但是,在重新编译项目并重新启动postgres服务之后,我们没有跟踪pg_cron的日志。

有人可以帮助我们吗?

我们如何为pg_cron启用日志来检查调度结果?

提前致谢!

2 个答案:

答案 0 :(得分:3)

要从数据库服务器调度作业,我们需要在pg_hba.conf中为运行cron作业的用户启用信任身份验证。 我们还需要运行UPDATE cron.job SET nodename =''通过本地(unix域)套接字使pg_cron连接或在pg_hba.conf中添加所有127.0.0.1/32的主机 允许通过本地TCP连接访问pg_cron后台工作程序。

作为查看是否启用了日志记录的基本健全性检查,我们运行SELECT cron.schedule(' * * * * *',' SELECT 1')将运行SELECT每分钟开始时1,应该出现在常规的postgres日志中。

答案 1 :(得分:0)

假设您完全控制Linux系统,可以在root的crontab中使用它:

su -c "YourqueryHere" postgres

所以你不需要pg_cron,除非你需要能够直接从数据库服务器安排作业。

相关问题