插入的默认日期在连续转换中不会改变

Default date for insert doesn't change in continuos transformation

我创建了下面的 table。

create table foo 
(   
  ibutton text NULL,
  severidade int4 NULL,
  dt_insercao timestamptz NULL DEFAULT now()
)

我的插入:

insert into foo (ibutton, severidade)values ('aa', 4);

在任何情况下 'dt_insersao' 的值应该是默认值 "now",它始终为“2017-06-08 10:35:35”...

我不知道这个值是从哪里来的..

这个插入被执行到我的连续转换中。

这些插入被执行到我对pipelinedb的连续转换中。当我在客户端 PGAdmin 中执行时,日期是正确的。

不确定 PipelineDB 如何在这里发挥作用,但在 Postgres 中,now() returns 单个事务中所有插入的相同值:

Quote from the manual

Since these functions return the start time of the current transaction, their values do not change during the transaction. This is considered a feature: the intent is to allow a single transaction to have a consistent notion of the "current" time, so that multiple modifications within the same transaction bear the same time stamp.

如果您需要为在一个事务中插入的每一行使用不同的值,请在您的 table 定义中使用 clock_timestamp()