0

我在我的 PostgreSQL 9.2 服务器上得到了 poltergeist。

当我插入包含时间戳列(date_published)的行时,当我运行以下查询时,该行出现在列表中:

select * from a_table

但是当我运行查询时,我将提到的日期(date_published)列与 CURRENT_TIMESTAMP 进行比较,它不显示该行。

select * from a_table
             WHERE date_published < current_timestamp

上面的查询仅显示大约 3-4 小时后的行。

date_published 列类型为:

...,date_published TIMESTAMP(6) WITHOUT TIME ZONE NULL,...
4

1 回答 1

0

有解决办法!!!

正如@Przemyslaw Kruglej 提到的,问题出在 PostgreSQL 服务器的时区配置中。您需要在 PostgreSQL 配置文件中配置时区。

对于 Windows 用户,请转到 .../PostgreSQL/9.2/data/postgresql.conf

将“log_timezone”和“timezone”更改为您的时区位置。就我而言,它是“亚洲/阿拉木图”

保存并重新启动您的服务器。就我而言,所有更改仅在 PC 重新启动后才开始起作用。

所以,祝你好运!

于 2013-11-06T10:42:06.037 回答