PostgreSQL中是否有类似于setTimeout
setTimeInterval
的东西,允许在指定的时间间隔执行代码段(FUNCTION
)?
据我所知,唯一可以根据某个事件执行FUNCTION
的是Triggers,但它不是基于时间的,而是操作驱动的(INSERT / UPDATE / DELETE / TRUNCATE
)
虽然我可以在应用程序代码中做到这一点,但我更喜欢把它委托给数据库。无论如何,我可以在PostgreSQL中实现这一点?可能是一个扩展?
PostgreSQL中是否有类似于setTimeout
setTimeInterval
的东西,允许在指定的时间间隔执行代码段(FUNCTION
)?
据我所知,唯一可以根据某个事件执行FUNCTION
的是Triggers,但它不是基于时间的,而是操作驱动的(INSERT / UPDATE / DELETE / TRUNCATE
)
虽然我可以在应用程序代码中做到这一点,但我更喜欢把它委托给数据库。无论如何,我可以在PostgreSQL中实现这一点?可能是一个扩展?
1条答案
按热度按时间icnyk63a1#
是的,有一种方法可以做到这一点,它叫做
pg_sleep
:这将每秒发出通知。您也可以让它执行其他操作而不是发出通知。
您可以使用PostgreSQL的后台工作器功能。
下面是后台工作线程的一个简单示例,它每5秒打印一条消息: