【问题标题】:Postgres Trigger in specified timePostgres 在指定时间触发
【发布时间】:2017-11-20 11:00:39
【问题描述】:

您好专家我在银行软件供应商公司工作,由于办公时间(选择时间)的工作负载,我们正在使用 PostgreSQL 数据库我想在指定时间(下班时间)使用触发器执行某些功能。因此,如果您有任何想法,请帮助我。

【问题讨论】:

  • 解决方案有点味道。但是在您的触发器中放置一个 if 语句,检查当前时间,如果 11pm 例如继续它,否则不要。我认为这很危险,因为对于一个记录,触发器会触发,而对于其他记录则不会,因此有些行通过触发器修改了数据,而有些则没有。结果不是幂等的,除非您正在修复之前遗漏的所有行。如果是这种情况,为什么不安排一个 sql 每天触发一次
  • 触发器将 NEW.PK_COLUMN 保存到 SCHEDULED 表中。然后安排一个作业,该作业将在需要的时间通过 SCHEDULED 表,处理 id 并将它们从 SCHEDULED 表中删除。当然它只在线性变化的情况下才有效。

标签: sql postgresql postgresql-9.4 pgadmin rails-postgresql


【解决方案1】:

触发器应该总是快速的。您不想让交易开放几个小时,那将是一个真的坏主意。

此类问题的正确解决方案是队列。有一些现有的实现,如PGQ,但我不知道是否能满足您的要求。

【讨论】:

    猜你喜欢
    • 2019-01-23
    • 2014-02-19
    • 2014-11-20
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多