RHEL8.4环境Citus10.2启动PostgreSQL实例失败报错求助
Citus单节点集群启动报错排查方案
错误根因:PostgreSQL启动时无法加载Citus扩展的共享库文件,按以下顺序排查即可解决:
- 步骤1:验证安装包版本匹配
执行命令检查已安装的PostgreSQL和Citus包是否版本适配:rpm -qa | grep -E '(postgresql14|citus)'
需确保Citus包为适配PostgreSQL 14的版本,包名通常含citus_14标识,若安装了适配其他PG版本的Citus包,卸载后重新安装对应版本即可。 - 步骤2:检查Citus共享库是否存在
先执行命令获取PostgreSQL 14的插件目录:pg_config --pkglibdir
正常RHEL 8.4下路径为/usr/pgsql-14/lib/,执行以下命令确认目录下存在Citus共享库:ls /usr/pgsql-14/lib/citus.so
若文件不存在,重新安装适配PG14的Citus RPM包。 - 步骤3:校验postgresql.conf配置
打开数据目录下的postgresql.conf文件,确认shared_preload_libraries参数配置如下,无拼写错误或多余字符:shared_preload_libraries = 'citus' - 步骤4:确认调用的pg_ctl为PG14版本
若系统存在多个PostgreSQL版本,默认调用的pg_ctl可能版本不匹配,执行命令验证版本:pg_ctl --version
若输出不是14.x版本,使用全路径执行启动命令即可:/usr/pgsql-14/bin/pg_ctl -D citus -o "-p 9700" -l citus_logfile start - 步骤5:检查文件权限与启动用户
需确保启动命令是在postgres用户下执行,不要直接用root用户启动。同时确认postgres用户对citus.so文件有读取权限,可执行以下命令修复权限:chmod 755 /usr/pgsql-14/lib/citus.so
内容的提问来源于stack exchange,提问作者Rk..
相关产品推荐
相关产品推荐

