首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >触发更改PostgreSQL数据库的日期!

触发更改PostgreSQL数据库的日期!
EN

Stack Overflow用户
提问于 2011-02-08 16:50:23
回答 3查看 1.5K关注 0票数 0

如何编写当LocalDate数据库服务器的PostgreSQL更改时触发的触发器?我希望在更改LocalDate ( postgresql数据库服务器的日期)时发出通知,这将是最有效的方法吗?需要通知的应用程序是用Java编写的。

进一步澄清:我正在建设公共交通系统,我需要在每天开始的时候设定一天的时间表。并且根据数据库服务器的时间来确定日期。如何以最小的开销实现这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-09 11:10:12

只有使用数据库才能做到这一点,而不定期检查。

如果需要在客户端应用程序中发出通知,则可以使用侦听/通知。您需要配置服务器调度程序(例如cron)来启动脚本,该脚本在00:00连接到服务器并发出通知。但是这需要一个Java定期检查PQnotifies,这并不比定期检查current_date更好。

你要这个做什么?也许你的下划线问题有更好的解决办法。

您唯一明智的选择是在服务器上创建一个程序,该程序负责日常维护,并使用服务器操作系统调度程序(cron on Unices,Windows任务调度程序)对其进行调度。

为了获得额外的可靠性:

  • 将您的维护脚本设置为锁定一个特殊的表维护( last_maintenance date )
  • ,当客户端连接到数据库时,它应该检查current_date=last_maintenance是否出错,如果没有;
  • ,如果当前维护正在运行,则只需等待锁定直到完成。
票数 1
EN

Stack Overflow用户

发布于 2011-02-08 17:35:25

我唯一能想到的就是让一个预定的作业(服务器端作业)每天在当地时间12:01将当前日期插入到一个表中。扳机可能会对此作出反应。

票数 2
EN

Stack Overflow用户

发布于 2011-02-08 16:56:33

什么是"LocalDate“?你是说服务器系统日期?在这种情况下,不可能在表中记录更改时触发触发器。查看手册:http://www.postgresql.org/docs/current/static/plpgsql-trigger.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4935829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档