TZ 环境变量
本主题详细说明如何设置或更改 TZ 环境变量并更新 tzdata 包。如果未设置此变量,则安装程序会以标识符 S0305 报告此问题。
在安装 Vertica 之前,更新系统的 tzdata 包,并通过指定 TZ
环境变量为数据库管理员帐户设置默认时区。如果正在通过 install_vertica
脚本创建数据库管理员,则在安装 Vertica 之后设置 TZ
变量。
更新 tzdata 包
tzdata 包是在大多数 Linux 系统中预先安装的公共域时区数据库。系统会针对全球时区变化定期更新 Tzdata 包。Micro Focus 建议在安装或更新 Vertica 之前更新到最新的 tzdata 包。
使用以下命令更新 tzdata 包:
-
基于 RedHat 的系统:
yum update tzdata
-
Debian 和 Ubuntu 系统:
apt-get install tzdata
设置默认时区
当客户端收到 SQL 查询的结果集时,如果有必要,所有行将包含调整为相同时区的数据。除非客户端使用 SQL SET TIME ZONE 命令(如《SQL 参考手册》中所述)明确覆盖相应设置,否则该时区将是启动程序节点的默认时区。任何节点的默认时区均由 TZ
环境变量控制。如果未定义 TZ
,则使用操作系统时区。
重要
在群集中的所有节点上,TZ
变量都必须设置为相同的值。如果操作系统时区未设置为数据库的目标时区,则确保已在所有群集节点上将 Linux 环境变量 TZ
设为目标值。
如果未设置 TZ 变量,安装程序将会返回警告。如果操作系统时区符合数据库要求,则使用操作系统时区,并且可以安全地忽略警告。
在主机上设置时区
重要
如果在启动
管理工具之前在命令行中显式设置 TZ
环境变量,则当前设置将不会生效。管理工具使用 SSH 在其他节点上启动副本,因此每次使用 SSH 时,都会重置启动命令的 TZ
变量。必须在群集所有节点上的 .profile
或 .bashrc
文件中设置 TZ
才能正常生效。
可采用多种不同的方法来设置时区,具体取决于 Linux 发行版或系统管理员的首选项。
-
要在 Red Hat 和 SUSE Linux 系统上设置系统时区,请编辑:
/etc/sysconfig/clock
-
要设置
TZ
变量,请编辑/etc/profile
、/home/dbadmin/.bashrc
或/home/dbadmin/.bash_profile
,然后添加以下行(例如,对于美国东部时区):export TZ="America/New_York"
有关 Vertica 识别哪些时区名称的详细信息,请参阅附录:在 Vertica 中使用时区。