💡
原文英文,约1500词,阅读约需6分钟。
📝
内容提要
pg_cron是一个开源的PostgreSQL扩展,提供基于cron的调度程序,支持每几秒钟运行一次任务,可用于实时聚合、检测异常、轮询外部资源等用例。可以作为基础调度原语,用于构建更复杂的调度程序。该扩展还可以通过构建作业队列执行器来实现一次性命令的调度。本文介绍了如何使用pg_cron自动化PostgreSQL工作流程。
🎯
关键要点
- pg_cron是一个开源的PostgreSQL扩展,提供基于cron的调度程序,支持每几秒钟运行一次任务。
- pg_cron已成为许多PostgreSQL用户的标准工具,几乎所有托管的PostgreSQL服务都支持它。
- pg_cron 1.5版本引入了每几秒调度作业的功能,这是用户最受欢迎的请求。
- 可以使用pg_cron快速响应数据库中的事件,例如实时聚合、检测异常和轮询外部资源。
- pg_cron允许每1-59秒调度作业,避免了更高或更低的时间间隔可能带来的问题。
- 建议定期清理cron.job_run_details表,以防止其在长时间运行作业后变得过大。
- pg_cron可以作为基础调度原语,构建更复杂的调度程序,支持一次性命令的调度。
- 提供了一个基本的作业队列执行器的实现,可以调度一次性作业并处理失败情况。
- 可以并行运行多个作业,系统会在不产生新进程的情况下快速执行作业。
- 使用pg_cron的作业队列模式可以有效管理大量模式,避免长时间事务带来的锁竞争。
- pg_cron的文档可以在其GitHub仓库中找到,用户可以通过它自动化PostgreSQL工作流程。
➡️