2014-01-23 37 views
1

大家开始的PostgreSQL 9.2默认的时区

我发现开始的PostgreSQL 9.2;安装PostgreSQL的时候,PostgreSQL的时区为GMT; 9.2之前,像9.1.6,PostgreSQL的timiezone被系统时区设置

例如

9.1.6

postgres(at)postgres 2014-01-23_16:34:30 ([local]:5432) # select now(); 
+-------------------------------+ 
|    now    | 
+-------------------------------+ 
| 2014-01-23 16:34:33.817441+08 | 
+-------------------------------+ 
(1 row) 

Time: 13.034 ms 

| TimeZone      | PRC   

9.2.4

postgres=# select now(); 
       now    
------------------------------- 
2014-01-23 08:35:27.509442+00 
(1 row) 

TimeZone      | GMT     

那么,在postgresql 9.1之后,像9.2应该在postgresql数据目录下设置postgresql时区postgresql.conf?

谢谢

回答

1

在9.2之前,postgresql会在启动时探测系统时区。这显然是一个昂贵的检查,所以请注意它在执行initdb时被检测到,并且在postgresql.conf中设置了一个初始值。如果您从postgresql.conf中删除该设置,它将使用默认的GMT。

如果您的服务器默认为GMT,则升级时探测过程不起作用,或者您可能无意中覆盖了conf文件中的值。

请参阅:Timezonerelease notes(搜索时区)。