Postgresql触发程序命令

时间:2015-02-23 06:38:42

标签: sql postgresql stored-procedures postgresql-9.3

我有3个表(general_log,queue_log,temporary_processed)和2个处理行的存储过程。在第3个表(temporary_processed)中,事件被组合以便进一步处理。

* _log表有2列:event_name,event_id,我有2个触发程序,在INTO进入* log表后触发。我们有以下流程:

  1. 将一行插入general_log,并执行触发器,在表3中创建一个新行(temporary_processed)
  2. 在queue_log表中插入一行,触发第3表中针对步骤1中插入的​​行的更新。
  3. 一切都很好,并且除了一些例外情况之外,按预期工作。但是,似乎数据库服务器处于高负载状态,并且这两个事件(步骤1和2)创建时间不到1秒,步骤2中的更新返回0受影响的行,因为未插入步骤1中的行然而,
    如何在插入步骤1的行之后确保触发器更新运行?

    作为比例因子general_log = queue_log * 4作为行数 我认为一个不错的尝试是在执行更新时放置一段时间并重复更新,直到它产生受影响的行= 1.

0 个答案:

没有答案