Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 在Postgres中使用触发器对更新进行排序和时间戳_Postgresql_Triggers_Database Trigger - Fatal编程技术网

Postgresql 在Postgres中使用触发器对更新进行排序和时间戳

Postgresql 在Postgres中使用触发器对更新进行排序和时间戳,postgresql,triggers,database-trigger,Postgresql,Triggers,Database Trigger,我试图在更新表中的时间戳行和版本行时对它们进行更新。我有以下跳跳虎: CREATE OR REPLACE FUNCTION trigger_set_timestamp() RETURNS TRIGGER AS $$ BEGIN NEW.updated_at = NOW(); NEW.version = OLD.version + 1; RETURN NEW; END; $$

我试图在更新表中的时间戳行和版本行时对它们进行更新。我有以下跳跳虎:

CREATE OR REPLACE FUNCTION trigger_set_timestamp()
        RETURNS TRIGGER AS $$
        BEGIN
          NEW.updated_at = NOW();
          NEW.version = OLD.version + 1;
          RETURN NEW;
        END;
        $$ LANGUAGE plpgsql;
我将其添加到我的表中,如下所示:

CREATE TRIGGER exchange_order_trigger_1 BEFORE UPDATE ON exchange_order 
  FOR EACH ROW EXECUTE PROCEDURE trigger_set_timestamp();
我有第二个触发器,它使用
执行pg_notify('table_watch',textPayload')
通过将更改作为json字符串发送到行中来通知my nodejs应用程序。nodejs应用程序只是将每一行记录到控制台

我认为它工作得很好,但我注意到时间戳和版本号并没有逐步增加。以下是输出示例(按接收顺序):

如您所见,版本号按预期增加,但时间戳没有增加。例如,版本4时间戳早于版本3时间戳

当我查看行中的其他数据时,看起来更新的_at值是正确的,而版本是错误的

我做错了什么?非常感谢您的帮助


使用谷歌云平台托管的Postgres 9.6实例

你可能想要
clock\u timestamp()
而不是
now()
谢谢,我会试试的。
"updated_at":"2020-07-16T06:43:40.234227+00:00","version":1
"updated_at":"2020-07-16T06:43:41.170334+00:00","version":2
"updated_at":"2020-07-16T06:43:50.930157+00:00","version":3
"updated_at":"2020-07-16T06:43:46.528429+00:00","version":4
"updated_at":"2020-07-16T06:43:51.717432+00:00","version":5
"updated_at":"2020-07-16T06:43:48.300129+00:00","version":6
"updated_at":"2020-07-16T06:43:53.103254+00:00","version":7