在Ubuntu 16.04 环境下,部署Postgres-xl,在执行$pgxc_ctl -c /home/postgres/pgxc_ctl/pgxc_ctl.conf init all 初始化集群过程中,提示gtm_ctl、initgtm、initdb 、pg_ctl 等not found,导致初始化失败,数据库无法启动的问题。
网上提供的常规解决方法如下:
在Postgres用户的home目录下.bashrc文件中添加如下环境变量:
export PGHOME=/home/postgres/pgxl
export PGUSER=postgres
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
export PATH=$PGHOME/bin:$PATH
并验证其是否生效:1、正常打印$PGHOME 2、Path变量中是否包含$PGHOME/bin的路径 3、 进入pgxc_ctl端,手动执行gtm_ctl并不会提示not found错误 4、多节点环境下,要保证每个节点均已添加以上环境变量。
但是在执行完以上检查后,依旧会提示如上错误 ~蒙逼脸~,最后使用了如下方式解决该问题:
$Path初始变量中包含了一个系统目录/usr/local/bin/,检查该目录默认为空,将$PGH