PostgreSQL时区调整

查看数据库的时区与时间:

postgres=# select now();  
             now              
------------------------------
 2017-09-29 12:54:04.04916+08
(1 行记录)

查看时区:

postgres=# show time zone;
   TimeZone    
---------------
 Asia/Shanghai
(1 行记录)

查看数据库可供选择的时区:

postgres=#  select * from pg_timezone_names; 
                  name                  | abbrev | utc_offset | is_dst 
----------------------------------------+--------+------------+--------
 Africa/Abidjan                         | GMT    | 00:00:00   | f
 Africa/Accra                           | GMT    | 00:00:00   | f
 Africa/Addis_Ababa                     | EAT    | 03:00:00   | f
 Africa/Algiers                         | CET    | 01:00:00   | f
 Africa/Asmara                          | EAT    | 03:00:00   | f
 Africa/Asmera                          | EAT    | 03:00:00   | f
 Africa/Bamako                          | GMT    | 00:00:00   | f
 Africa/Bangui                          | WAT    | 01:00:00   | f
 Africa/Banjul                          | GMT    | 00:00:00   | f
 Africa/Bissau                          | GMT    | 00:00:00   | f
.......................

设置时区:

postgres=# set time zone "Asia/Shanghai";
SET

 但是通过这种方式设置时区在你退出psql终端后,再次进入此psql中断后就会发现又恢复到原来的时区了,

如果想永久修改,我们需要更改配置文件:

[liangping@localhost ~]$ sudo cat /var/lib/pgsql/9.6/data/postgresql.conf|grep timezone
log_timezone = 'PRC'
timezone = 'PRC'

将配置文件的这两个变量的值设置成自己想要的时区(PRC指:People's Republic of China)

然后重新加载即可:

pg_ctl reload

我用citus分布式数据库,不能使用这个命令,最后把数据库重启了。

 

原文地址:https://www.cnblogs.com/liangping/p/7610588.html