我安装了 PostgreSQL 9,它显示的时间比服务器时间晚 1 小时。

运行 Select NOW() 显示:2011-07-12 11:51:50.453842+00
服务器日期显示:Tue Jul 12 12:51:40 BST 2011
它落后 1 小时,但 phppgadmin 中显示的时区为:TimeZone Etc/GMT0
我试过进入 postgresql.conf 并设置



然后运行重新启动但没有变化。

我认为它只会使用服务器时区的任何想法,但显然不是?!

解决方案!:
我之前确实设置为 GMT ,但晚了一个小时。四处搜索后发现我需要将其设置为 Europe/London 。这考虑到了英国夏令时的 +1 小时,GMT 没有!

最佳答案

时区是一个 session 参数。因此,您可以更改当前 session 的时区。

the doc

set timezone TO 'GMT';

或者,更严格地遵循 SQL 标准,使用 SET TIME ZONE 命令。请注意“TIME ZONE”的两个词,其中上面的代码使用了一个词“timezone”。
SET TIME ZONE 'UTC';

该文档解释了差异:

关于postgresql - postgres 默认时区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6663765/

10-15 19:52