如何在YugabyteDB中设置服务器级时区及Helm部署集群默认时区
YugabyteDB时区配置相关说明
服务器级别修改时区支持情况
支持在服务器级别修改YugabyteDB的时区。YugabyteDB的核心进程YB-Master、YB-TServer默认继承运行环境的时区配置,也支持单独指定全局时区,无需修改操作系统全局时区即可生效。
Helm Chart部署时配置集群默认时区的方法
官方YugabyteDB Helm Chart支持通过注入环境变量的方式配置全局时区,具体操作有两种:
方法1:通过自定义values.yaml配置
在你使用的values.yaml文件中添加如下配置,时区取值替换为你需要的IANA标准时区即可(示例为上海时区):
yugabyte: master: extraEnv: - name: TZ value: "Asia/Shanghai" tserver: extraEnv: - name: TZ value: "Asia/Shanghai"
配置调整完成后执行部署或集群升级即可生效:helm upgrade --install <你的集群名称> yugabytedb/yugabyte -f values.yaml
方法2:命令行直接传参部署
如果无需维护独立的values.yaml,可在执行helm install命令时通过--set参数直接注入时区配置:
helm install <你的集群名称> yugabytedb/yugabyte \ --set yugabyte.master.extraEnv[0].name=TZ \ --set yugabyte.master.extraEnv[0].value=Asia/Shanghai \ --set yugabyte.tserver.extraEnv[0].name=TZ \ --set yugabyte.tserver.extraEnv[0].value=Asia/Shanghai
配置有效性验证
部署完成后连接集群的YSQL接口,执行以下命令验证配置:
- 查看集群默认时区:
SHOW timezone; - 验证当前时间是否匹配对应时区:
SELECT NOW();
注意事项
- 时区取值请使用IANA标准时区格式(如Asia/Shanghai、America/New_York),不要使用CST、EST这类存在歧义的时区缩写
- 时区配置需要同时对YB-Master和YB-TServer生效,避免两类进程时区不一致引发元数据时间戳异常
- 服务器级别配置的是全局默认时区,单个会话仍可通过
SET TIME ZONE '目标时区';命令临时修改当前会话的时区,不影响全局配置
内容的提问来源于stack exchange,提问作者dh YB
相关产品推荐
相关产品推荐

