定时任务(pg_cron)
pg_cron是基于cron的作业调度插件,语法与常规cron相同,但它可以直接从数据库执行PostgreSQL命令。
每一个定时任务分为两部分:
定时计划
规定使用插件的计划,例如每隔1分钟执行一次该任务。
定时计划使用标准的cron语法,其中*表示任意时间都运行,特定数字表示仅在这个时间时运行。
┌───────────── 分钟: 0 ~ 59
│ ┌────────────── 小时: 0 ~ 23
│ │ ┌─────────────── 日期: 1 ~ 31
│ │ │ ┌──────────────── 月份: 1 ~ 12
│ │ │ │ ┌───────────────── 一周中的某一天 :0 ~ 6,0表示周日。
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
* * * * *
如
例如每周六3:30am(GMT)的语法为:
30 3 * * 6
定时任务
用户具体的任务内容,例如select * from some_table。
注意事项
定时任务执行的时间是GMT时间,请注意换算时间。
定时任务都储存于默认数据库postgres中,但是您可以在其他数据库上查询定时任务。
(阿里云RDS) 由于pg_cron插件已升级,如果您在升级内核小版本20201130之前已经在使用pg_cron,请重新创建插件来使用新的特性,但是重新创建后原有定时任务会丢失。