postgresql now()函数返回了将来的日期

时间:2014-10-07 16:35:19

标签: php postgresql timestamp

今天我发现我的许多生产数据库都有一个名为status_update的列的未来日期,该列仅由now()函数设置。

大多数日期是10月8日:

  • 2014-10-08 08:20:42.97564
  • 2014-10-08 16:31:30.304743

但其中一些:

  • 2014-10-09 08:31:44.775589
  • 2014-10-10 08:50:24.235533
  • 2014-10-13 10:42:20.038917

任何人都可以帮我解决这个问题吗?怎么会这样?

我的应用程序基于PHP构建。当前时间是2014-10-07 17:35:00。

SELECT now()返回2014-10-07 17:35:56.192627+01

提前致谢。

更新

我的错,我错过了用于设置status_update值的pjobdate + current_time表达式。遗憾。

1 个答案:

答案 0 :(得分:0)

可能是时区问题,请参阅: Local time zone offset in PostgreSQL

并尝试

 SELECT  current_setting('TIMEZONE');

对于2014-10-08的日期,这可能是正确的,未来的方式可能是从其他地方设定的日期开始。我将查看该列更新的所有位置,触发器,过程,PHP代码等