opengauss 设置时区
opengauss的默认时区为设置为 GMT。本文环境为 docker 安装的 opengauss。
在数据库中执行语句查询所需时区名字。
select * from PG_TIMEZONE_NAMES where utc_offset = '08:00:00';
查询结果如下:
查找数据库的数据目录路径(在数据库中执行)。
omm=# SHOW data_directory;
data_directory
-------------------------
/var/lib/opengauss/data
(1 row)
在 docker 中执行以下语句设置时区。
gs_guc set -D datadir -c "TimeZone='Asia/Shanghai'"
# 将 datadir 替换为上面查询出来的路径,例如
gs_guc set -D /var/lib/opengauss/data -c "TimeZone='Asia/Shanghai'"
执行成功后可以看到如下图示:
按照官方的操作,执行完成后需要重启数据库生效。
gs_om -t stop && gs_om -t start
但我的 docker 镜像中没有包含这个命令集,所以使用是重启 docker 来重启数据库。
也可以直接修改配置文件 postgresql.conf
(这个文件在容器数据/var/lib/opengauss的挂载路径下面),然后重启。
655 timezone = 'Asia/Shanghai'
重启后就可以看到数据库时间变为CST时间了。
参考资料
本文来自博客园,作者:MGTPEZ,转载请注明原文链接:https://www.cnblogs.com/mgtpez/p/18895135