我对postgresql时区有点困惑我正在检查某些行中的日期,我注意到其中的时区 -4但我的实际时区是-3政府对夏令时时区和更改的 tzdata 文件进行了更改系统日期很好,但 postgres 直到我重新启动它才注意到更改
我尝试设置它 将时区设置为本地但它得到了糟糕的时区-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?
根据这个FAQ条目,PostgreSQL附带了最新的tzdata数据库。为了保持最新状态,应该定期安装次要的PostgreSQL版本。
也可以使用--with-system-tzdata
配置选项将PostgreSQL编译为系统tzdata数据库支持。
在这两种情况下,正在运行的服务器都不会监视 tzdata 数据库中的更改,因此您必须通过重新启动来明确通知它。