我想定期调用存储过程.在Oracle上,我会为此创建一份工作.我发现
Postgresql可以通过使用外部工具(cron等)和PgAgent来很好地模仿这个.
您是否知道不涉及外部工具的“内部”替代方案?
>我想避免使用存储在pgAgent命令行上的密码的安全性问题.
>我想避免任何额外的系统配置来隐藏密码(〜/ .pgpass).
即使您正在运行即将发布的(在编写本文时)Postgresql 10或当前的Postgresql 9.6而不是像8.3这样的古老版本,仍然没有内置的任务调度程序.
需要像PgAgent或外部cron作业之类的东西,没有方便的解决方法.
9.3中引入的后台工作者功能应该允许像PgAgent这样的工具在以后的版本中移植到Postgresql核心中,但它还没有完成.即使在9.3,你仍然需要运行cron或pgagent.
一些人正在研究基于后台工作者的调度程序,并且有一些补丁即将提供帮助.但是从Postgresql 10开始,仍然没有高质量,广泛采用的调度程序,并且大多数人使用cron / ms任务调度程序等.
请看一下version policy;您正在运行过时且不受支持的版本.