postgresql采取时区更改,直到重新启动服务

Fre*_*tor 0 postgresql timezone

我对postgresql时区感到有点困惑我正在检查某些行中的日期,我注意到它们中的时区-4但我的实际时区是-3政府对夏令时时区和tzdata文件进行了更改系统日期很好,但postgres在重新启动它之前没有注意到更改

我尝试用设置TIME ZONE LOCAL进行设置,但它的时间差得很快-4

select extract(epoch from now()),now();
date_part     |             now              
------------------+------------------------------
 1335240339.68894 | 2012-04-24 00:05:39.68894-04
(1 fila)
Run Code Online (Sandbox Code Playgroud)

但在我重新启动postgresql之后

# select extract(epoch from now()),now();
Run Code Online (Sandbox Code Playgroud)

date_part | 现在
---------------- + -------------------------------

  1335240403.672 | 2012-04-24 01:06:43.672002-03
 (1 fila)
Run Code Online (Sandbox Code Playgroud)

我的时区永远都是

 show timezone;
     TimeZone     
------------------
 America/Santiago
(1 fila)
Run Code Online (Sandbox Code Playgroud)

我可能需要每次更改tzdata信息时重新启动postgres吗?

vye*_*rov 5

根据这篇FAQ条目,PostgreSQL将推出最新的tzdata数据库.为了使其保持最新,应定期安装次要的PostgreSQL版本.

使用--with-system-tzdataconfigure选项也可以使用系统tzdata数据库支持编译PostgreSQL .

在这两种情况下,运行服务器都不会监视tzdata数据库中的更改,因此您必须通过重新启动显式地通知它.

  • 请注意,Olson数据库的"最新"版本变化非常频繁,并且可能比PostgreSQL发布频繁得多.正常率为每年10-20次.例如,当前版本是2012c,去年的最后一个版本是2011n. (3认同)