Ale*_*rev 1 postgresql scripting
我想向我的 Postgres 数据库添加一个类似触发器的函数。问题是该函数应该每天自动执行一次并更改指定表中的值。
是否可以通过 SQL 语法来执行此操作,还是最好编写一个带有我需要的一些查询的 bash 脚本?
PostgreSQL 没有基于时间的触发器。
如果您想在数据库中存储尽可能多的逻辑,您可以创建一个普通函数(不是触发器函数),然后从您最喜欢的作业调度程序(对我来说是 cron )调用它。如果您想使用数据库来存储数据而不是逻辑,那么您可以将要运行的查询放在 .sql 文件中,并使用您最喜欢的作业计划来调用该文件,psql -f
例如。或者,如果您希望所有应用程序逻辑都在 Perl 模块中,则可以在 Perl 模块中编写一个函数,该函数连接到数据库(重用模块已有的任何连接逻辑)并执行您想要的操作,然后使用您最喜欢的作业调度程序来调用该函数。
方法有很多种,关键是选择适合您整体设计的方法。
可能可以将逻辑放入虚拟表上的触发器中,然后让您最喜欢的作业调度程序在虚拟表上执行虚拟操作以使触发器触发。毫无意义,但有可能。
归档时间: |
|
查看次数: |
12452 次 |
最近记录: |