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

本文介绍了一种解决PostgreSQL数据库时间和操作系统时间不一致的方法,主要原因是两者的时区设置不同。通过调整PostgreSQL的时区设置使其与系统时区保持一致,并介绍了如何在会话级别及配置文件中进行时区设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--有时候操作系统的时间与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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值