您的位置:首页 > 数据库

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

2015-11-19 09:54 549 查看
--有时候操作系统的时间与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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: