PostgreSQL函数执行延迟

PostgreSQL函数执行延迟,sql,postgresql,plpgsql,pgadmin,Sql,Postgresql,Plpgsql,Pgadmin,所以,我的问题是:我有两个存储函数,第一个应该运行第二个,但不是在执行时。第二个函数应该在一段时间后执行。我该怎么做呢?你可以使用 pg_睡眠10 在使用PostgreSQL直接调用第二个函数之前,您不能。PgAgent可能会有所帮助,但它是一个单独的应用程序。我考虑过,但没有弄清楚如何从PostgreSQL函数运行PgAgent作业。通过外部帮助程序使用LISTEN和NOTIFY,您可以简单地安排两个cron作业。第一个使用psql执行函数,将结果写入表。第二种方法可以考虑第一种方法的结果。或

所以,我的问题是:我有两个存储函数,第一个应该运行第二个,但不是在执行时。第二个函数应该在一段时间后执行。我该怎么做呢?

你可以使用

pg_睡眠10


在使用PostgreSQL直接调用第二个函数之前,您不能。PgAgent可能会有所帮助,但它是一个单独的应用程序。我考虑过,但没有弄清楚如何从PostgreSQL函数运行PgAgent作业。通过外部帮助程序使用LISTEN和NOTIFY,您可以简单地安排两个cron作业。第一个使用psql执行函数,将结果写入表。第二种方法可以考虑第一种方法的结果。或者你可以像Craig建议的那样使用LISTEN/NOTIFY,让监听进程在unix上安排一个at作业,比如cron,只为一个作业。这是不可接受的,因为调用pg_sleep会使第一个函数休眠,因此调用者必须等待响应,并且等待间隔长于连接超时。