Postgresql 为什么选择localtimestamp会在两台不同的带有Postgres的机器上返回不同的时区
如果我在Postgres 9.2上执行Postgresql 为什么选择localtimestamp会在两台不同的带有Postgres的机器上返回不同的时区,postgresql,timezone,clock,Postgresql,Timezone,Clock,如果我在Postgres 9.2上执行 show timezone 在我的机器上,它返回本地时区 America/Denver 当我对旁边的人运行相同的postgres命令时,它会返回 US/Eastern 有人知道为什么Postgres服务器会为两个不同的人使用两个不同的时区吗?语句show timezone显示当前客户端会话的时区。这可能是也可能不是PostgreSQL server的时区 要了解其工作原理,请在同一台计算机上打开两个终端会话,并使用psql将它们分别连接到数据库。(我
show timezone
在我的机器上,它返回本地时区
America/Denver
当我对旁边的人运行相同的postgres命令时,它会返回
US/Eastern
有人知道为什么Postgres服务器会为两个不同的人使用两个不同的时区吗?语句
show timezone
显示当前客户端会话的时区。这可能是也可能不是PostgreSQL server的时区
要了解其工作原理,请在同一台计算机上打开两个终端会话,并使用psql将它们分别连接到数据库。(我正在连接一个名为“sandbox”的数据库。我的PostgreSQL server设置为本地时间。也就是说,PostgreSQL.conf的行timezone='localtime'
)
在第一个会话中,将时区设置为加利福尼亚州伯克利市
sandbox=# set time zone 'PST8PDT';
(对于设置
的语句是会话
。此语句相当于设置会话时区'PST8PDT';
)
在第二个会话中,将时区设置为UTC
sandbox=# set time zone 'UTC';
这两个都不是我的本地时区
现在在每个会话中运行show timezone
。第一个将返回“PST8PDT”;第二个将返回“UTC”。服务器的时区仍然是本地时间
sandbox=# show time zone;
TimeZone
-----------
localtime
如果我断开其中一个连接,然后再次连接,我将返回当地时间
sandbox=# show time zone;
TimeZone
-----------
localtime
沙盒=#显示时区;
时区
-----------
本地时间
也许你正在使用不同的设置,所以回到默认设置:将时区设置为默认;