PG_Cron定时任务执行时间与预期不符问题排查求助
PG_Cron定时任务执行时间与预期不符的问题处理
使用场景
通过PG_Cron每日在指定时间运行查询任务
问题描述
配置了如下Cron任务:
select cron.schedule('fifty-min', '50 * * * *', $$UPDATE sample_JSON2 SET is_active = FALSE WHERE createdon < CURRENT_DATE AND is_active IS TRUE;$$);
预期该任务每日每小时第50分钟执行,但实际触发时间为每小时第20分钟,可通过执行select * from cron.job_run_details;查看任务执行记录确认此问题。
已尝试的操作
- 参照PG_Cron官方文档,在
postgresql.conf中配置时区为IST(Asia/Kolkata),确认pg_hba.conf配置正确后重启PostgreSQL服务 - 将PG_Cron版本升级至1.6,升级后30分钟的执行延迟问题仍未解决
补充信息
- 环境版本:PG_Cron 1.4/1.6,PostgreSQL 14
- 数据库时区为Asia/Kolkata,时间转换测试显示UTC与IST之间存在对应偏差
可行解决办法
- 临时方案1:将目标IST时间转换为UTC时间,再基于UTC配置Cron表达式
- 临时方案2:降级至PG_Cron 1.5版本,该版本不存在此时区相关的执行偏差问题
内容的提问来源于stack exchange,提问作者user21819272
相关产品推荐
相关产品推荐

