Tan*_*ish 5 postgresql trigger
在问这个问题之前,让我先解释一下场景。
我有一个包含一组表的数据库。一个表,比如表 A,包含用户名详细信息,而另一个表,比如表 B,包含用户活动日志。当从表 A 中删除特定用户条目时,我想从表 B 中删除特定用户日志。我可以使用触发器来执行此操作,但要求在某个时间后(例如 5 分钟后)应删除表 B 中的条目),而不是立即。
是否可以将触发器执行延迟 5 分钟?触发器的可能设计是什么。在这种情况下,延迟触发是否会有所帮助。
不,延迟触发器执行无济于事。它只将触发器推迟到事务结束。
PostgreSQL 也没有内置的任务/作业调度程序,因此您需要在您的应用程序中执行此操作。
在触发器中,向表中插入一行,以跟踪应删除哪些条目以及何时删除。每隔几分钟扫描一次该表,并在单个事务中扫描已过期的记录及其在删除队列表中的相应条目。
归档时间: |
|
查看次数: |
2357 次 |
最近记录: |