我对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)
但是我重新启动了postgresql
# select extract(epoch from now()),now();
date_part |现在
---------------- + -------------------------------
1335240403.672 | 2012-04-24 01:06:43.672002-03
(1 fila)
我的时区始终是
show timezone;
TimeZone
------------------
America/Santiago
(1 fila)
我可能需要每次更改tzdata信息时重新启动postgres吗?
答案 0 :(得分:5)
根据这个FAQ entry,PostgreSQL将推出最新的tzdata数据库。为了使其保持最新,我们应该定期安装次要的PostgreSQL版本。
使用--with-system-tzdata
配置选项也可以使用系统tzdata数据库支持编译PostgreSQL。
在这两种情况下,运行服务器都不会监视tzdata数据库中的更改,因此您必须通过重新启动显式通知它。