gpt4 book ai didi

postgresql - pg_cron crontab 日志

转载 作者:行者123 更新时间:2023-11-29 11:29:15 24 4
gpt4 key购买 nike

我们正在尝试在 Postgresql 中配置定期作业。为此,我们在运行 postgres 9.6 的 linux 机器上安装了citusdata pg_cron 项目。

系统信息

Citusdata pg_cron 项目

按照 pg_cron 仓库中的说明,我们在 postgresql.conf 中设置下面的配置

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

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

CREATE EXTENSION pg_cron;

然后我们安排了我们的第一个 postgres 作业:

SELECT cron.schedule('45 12 * * *', $$CREATE TABLE testCron AS Select 'Test Cron' as Cron$$);

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

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

但是没有任何反应。

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

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

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

有人可以帮助我们吗?

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

提前致谢!

最佳答案

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

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

关于postgresql - pg_cron crontab 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44547603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com