Centos7和PostgreSql时间时区的查看与设置


注意:修改Linux系统的时区以后,再安装jvm,jvm默认会使用系统的时区。

如果系统时区设置错误,安装jvm后,再修改系统的时区,但jvm的时区仍然不变,除非添加jvm的启动参数:-D user.timezone=GMT+08

# 查看jvm时区 1108为Java程序的进程id
[root@test ~]# ./jdk8/bin/jinfo 1108 | grep user.timezone

一、Centos7系统

1.查看时间和时区

(1).通过date查看时间和时区

[root@test ~]# date
Thu Mar  9 10:52:53 CST 2023
[root@test ~]# date -R
Thu, 09 Mar 2023 10:52:39 +0800

(2).通过timedatectl是Linux下的一条命令,用于控制系统时间和日期。可以用来查询和更改系统时钟于设定,同时可以设定和修改时区信息。

[root@test ~]# timedatectl
      Local time: Thu 2023-03-09 10:49:40 CST
  Universal time: Thu 2023-03-09 02:49:40 UTC
        RTC time: Thu 2023-03-09 00:08:04
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

2.设置时间和时区

(1).通过date设置时间

[root@test ~]# date -s "2023-03-09 10:13:30"
Thu Mar  9 10:13:30 CST 2023

(2).通过timedatectl设置时区为CST(东8区)

[root@test ~]# timedatectl  set-timezone Asia/Shanghai
[root@test ~]# timedatectl
      Local time: Thu 2023-03-09 11:01:40 CST
  Universal time: Thu 2023-03-09 03:01:40 UTC
        RTC time: Thu 2023-03-09 00:20:05
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

(3).通过复制相应的时区文件,替换系统时区文件;或者创建链接文件

[root@test ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
或者
[root@test ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

二、PostgreSql数据库

1.查看数据库时间和时区

(1).查看时间

select now();

在这里插入图片描述

(2).查看时区

show time zone;

在这里插入图片描述

2.设置数据库时间和时区

(1). 通过命令
PRC为东八区 北京时间 UTC+8
Asia/Shanghai为东八区 上海时间 GMT+8
但是通过这种方式设置时区是session级别的,退出会话会失效

set time zone 'PRC'

(2).通过修改数据库配置文件
找到数据库配置文件postgresql.conf

[root@test ~]# find / -name postgresql.conf
/data/antdb/data/postgresql.conf
[root@test ~]# vi /data/antdb/data/postgresql.conf

修改log_timezone和timezone

log_timezone = 'PRC'
timezone = 'PRC'

在这里插入图片描述
在这里插入图片描述
最后重新加载配置

[postgresql@postgresql ~]# pg_ctl -D /var/lib/pgsql/data reload

猜你喜欢

转载自blog.csdn.net/weixin_43948460/article/details/129418519