Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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数据库的*view*中添加一列并带有更新时间戳?_Postgresql_Zapier - Fatal编程技术网

Postgresql 我是否可以在每次修改行时向Postgres数据库的*view*中添加一列并带有更新时间戳?

Postgresql 我是否可以在每次修改行时向Postgres数据库的*view*中添加一列并带有更新时间戳?,postgresql,zapier,Postgresql,Zapier,我希望能够添加一个日期,即行中的单元格被修改的日期,它是一个布尔值,因此从false到true,我希望它覆盖上一个日期?我想使用它作为zap的触发器,到目前为止,我所发现的是,我可以在create或replace view命令中将CURRENT_TIMESTAMP作为CURRENT_TIMESTAMP添加到select语句中。当我对行进行更改并保留原始日期时,该值不会更新。有什么想法吗?PostgreSQL数据库存储每一行的事务ID,如果配置参数track\u commit\u timestam

我希望能够添加一个日期,即行中的单元格被修改的日期,它是一个布尔值,因此从false到true,我希望它覆盖上一个日期?我想使用它作为zap的触发器,到目前为止,我所发现的是,我可以在create或replace view命令中将CURRENT_TIMESTAMP作为CURRENT_TIMESTAMP添加到select语句中。当我对行进行更改并保留原始日期时,该值不会更新。有什么想法吗?

PostgreSQL数据库存储每一行的事务ID,如果配置参数track\u commit\u timestamp设置为TRUE,则可以存储事务提交时间戳

如果设置为TRUE,则可以使用函数pg_xact_commit_timestamp和系统列xmin来选择行最后修改时刻

查询如下所示:

  SELECT some_columns, pg_xact_commit_timestamp(t.xmin) AS change_moment
   FROM thetable AS t

您能添加您的表结构和您迄今为止尝试过的查询吗?我已将当前的\u时间戳添加到我的select语句中,该语句在更新视图时自动填充,然后在进行任何进一步更改时不会修改。表本身不包含时间戳,这就是问题所在,我认为首先,您的时间戳不存在于表上,因此无法持久化。它也与任何更新无关,它将显示select执行的时间戳。其次,它听起来像是显示器的动态刷新。这不会发生,要更新显示,必须重新执行select。