微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql 时区配置,系统主机与数据库时间不一致

--有时候操作系统的时间与pg的时间不一致,这往往时两者时区不一致造成的

--查看系统时间与时区
[postgres@rudy_01 data]$ date
Thu Nov 19 09:39:58 CST 2015
[postgres@rudy_01 data]$ date -R
Thu,19 Nov 2015 09:40:33 +0800
[postgres@rudy_01 data]$ cat /etc/sysconfig/clock
ZONE="Asia/Shanghai"


--查看pg的时区与时间
postgres=# select Now();
              Now              
-------------------------------
 2015-11-18 17:42:28.755732-08
(1 row)
--查看时区
postgres=# show time zone;
  TimeZone  
------------
 US/Pacific
--以上可知,主机的时区和系统的时区不一致,造成两者相差16个小时 
 
 
 --修改时区,注意此认为session级别
 postgres=# set time zone 'PRC';
SET
postgres=# select Now();
              Now              
-------------------------------
 2015-11-19 09:44:50.178039+08
(1 row)

postgres=# show time zone;
 TimeZone 
----------
 PRC
 
 --视图pg_timezone_names保存了所有可供选择的时区
 select * from pg_timezone_names;
 
--查看配置文件中时区设置,要想永久生效,此时需要修改配置文件 
[postgres@rudy_01 data]$ grep timezone postgresql.conf 
log_timezone = 'US/Pacific'
timezone = 'US/Pacific'


--修改完配置时重新加载
[postgres@rudy_01 ~]$ pg_ctl reload
server signaled
[postgres@rudy_01 ~]$ psql
postgres=# show time zone;     
 TimeZone 
----------
 PRC

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐