如何修改RDS PostgreSQL的时区?

问题描述

程序中由于时区设置问题,导致程序报错,那么该如何修改RDS PostgreSQL的时区?

问题分析

可以对数据库的时区做不同级别的修改,包含全局、数据库、用户级、会话级。

解决方案

例如要将默认的PRC修改为UTC

1.全局参数

修改PostgreSQL参数组配置文件postgresql.conf

[root@iv-38der6cb2agc9tvqv0qf data]# cat postgresql.conf | grep "^timezone"
timezone = 'UTC'

2.修改数据库级别的timezone

postgres=# create database demo;
CREATE DATABASE
(1 row)

#修改数据库级别的timezone
postgres=# alter database demo set timezone='UTC';
ALTER DATABASE
postgres=# show timezone;
   TimeZone
---------------
 Asia/Shanghai
(1 row)

postgres=# \c demo;
You are now connected to database "demo" as user "postgres".

demo=# show timezone;
 TimeZone
----------
 UTC
(1 row)

3.修改用户级别的timezone,命令和示例如下:`

单个用户的修改
demo=# alter role demo set timezone='UTC';

所有用户的修改
demo=# alter role all set timezone='UTC';

4.会话级别的修改,支队当前连接生效。


postgres=# set timezone='Asia/Shanghai';
SET

postgres=# show timezone;
   TimeZone
---------------
 Asia/Shanghai
(1 row)
postgres=# exit

[postgres@iv-38der6cb2agc9tvqv0qf ~]$ psql
psql (12.10)
Type "help" for help.

postgres=# show timezone;
 TimeZone
----------
 UTC
(1 row)

如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论