PostgreSQL修改时区
使用GUI工具或者使用psql命令行工具连接到postgresql-server,如下使用GUI工具
- 查看当前时间
select now()
- 查看时区
show time zone;
- 查询psql支持的时区
select * from pg_timezone_names;
- 修改时区
- 会话级别的时区
# 与数据库建立连接的会话都会修改时区
set time zone ‘PRC’;
- 用户级别时区
# 该用户连接连接的会话都会修改时区
alter role rolname set timezone=‘UTC’;
alter role all set timezone=‘UTC’;
- 数据库级别时区
# 与该数据库连接的时区都会修改
lter database dbname set timezone=‘UTC’;
- 全局配置
修改postgresql.conf
文件的时区
log_timezone = ‘US/Pacific’
timezone = ‘US/Pacific’
Cannot create PoolableConnectionFactory (FATAL: invalid value for parameter “TimeZone”: “Asia/Beijing”)
出现这个错误是postgresql没有Beijing的时区,但是系统确实北京时区,如下
查看数据库是否支持上海时区
select * from pg_timezone_names where name like '%Asia/Shanghai%';
支持那就将系统的时区改为上海的。
Linux修改时区
- 查看本机时区
timedatectl
- 查看所有时区
timedatectl list-timezones
找到一个postgresql和linux都支持的时区如Asia/Shanghai
timedatectl set-timezone Asia/Shanghai
此时数据库和系统的时区一致就完成了!