插入的默认日期不会在连续变换中发生变化

时间:2017-06-20 14:07:26

标签: postgresql pipelinedb

我创建了下表。

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'的价值的情况,我们应该默认"现在",总是如同2017-06-08 10:35:35& #39; ...

我不知道它来自这个值...

此插入执行到我的持续转换中。

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

1 个答案:

答案 0 :(得分:0)

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

Quote from the manual

  

由于这些函数返回当前事务的开始时间,因此它们的值在事务期间不会更改。这被认为是一个特征:目的是允许单个交易具有“当前”的一致概念。时间,以便同一事务中的多个修改具有相同的时间戳。

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