pg_dbms_job v2.0 发布

发布于 2026-04-20,HexaCluster
相关开源软件

马达加斯加塔那那利佛,2026 年 4 月 19 日

PostgreSQL 的 DBMS_JOB 兼容扩展

pg_dbms_job 是一个 PostgreSQL 扩展,用于创建、管理并运行 Oracle 风格的 DBMS_JOB 定时任务,其使用方式和行为尽量与 Oracle DBMS_JOB 包保持一致。

该扩展支持:

  • 从任务队列管理计划任务
  • 异步立即执行任务
  • 为任务定义待执行代码、下次执行时间以及执行频率
  • 运行 SQL 命令、plpgsql 代码或现有存储过程

这是一次大版本更新,核心变化是把原先基于 Perl 的调度器重写为 使用 C 编写的 PostgreSQL background worker,并附带多项改进:

  • 将外部 Perl 调度守护进程改写为 C 语言 background worker
  • 新增 pg_dbms_job.naptime 配置项,可调整默认 100ms 的休眠时间
  • pg_dbms_job.job_queue_interval 支持小数值
  • run_duration 列改为 interval 类型,以提供更精确的时长表示
  • 使用 $pg_dbms_job$ 代码块包装任务执行体,避免与待执行代码冲突

完整变更列表见:

链接与支持