前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tbase symbol lookup error: ./psql: undefined symbol: PQsetErrorContextVisibility

tbase symbol lookup error: ./psql: undefined symbol: PQsetErrorContextVisibility

原创
作者头像
大大刺猬
发布2022-06-24 16:56:27
1.7K0
发布2022-06-24 16:56:27
举报
文章被收录于专栏:大大刺猬大大刺猬

环境

tbase: 2.15.12.3 或者 tbase 2.15.18.5.1 (独立版)

操作系统: centos7.9/rhel7.6

psql来源: tbase_pgxz-5.06.1.1-i.x86_64

问题现象(报错)

使用psql登录数据库报错如下

代码语言:shell
复制
16:31:16 [root@ddcw21 bin]#./psql -h 192.168.101.51 -p 11345 -U u1 -d postgres
Password for user u1: 
./psql: symbol lookup error: ./psql: undefined symbol: PQsetErrorContextVisibility

原因分析

此报错为libpq.so版本不对

因为本地环境还安装了开源pg库postgresql-libs-9.2.24-4.el7_8.x86_64, 此库包含了libpq.so.5 , 而tbase_pgxz的psql命令默认使用的系统库的libpq(也就是开源的pg-lib), 导致版本不对

代码语言:shell
复制
16:39:11 [root@ddcw21 bin]#ldd psql | grep libpq
	libpq.so.5 => /lib64/libpq.so.5 (0x00007fce6f5c4000)
16:40:36 [root@ddcw21 bin]#rpm -qf /lib64/libpq.so.5
postgresql-libs-9.2.24-4.el7_8.x86_64
16:40:43 [root@ddcw21 bin]#rpm -ql tbase_pgxz | grep libpq.so
/usr/local/install/tbase_pgxz/lib/libpq.so
/usr/local/install/tbase_pgxz/lib/libpq.so.5
/usr/local/install/tbase_pgxz/lib/libpq.so.5.10

解决办法

方法1 (推荐)

添加tbase_pgxz库到系统库

代码语言:shell
复制
echo '/usr/local/install/tbase_pgxz/lib' >> /etc/ld.so.conf
ldconfig
ldconfig -p | grep libpq.so

方法2

卸载postgresql-libs

代码语言:shell
复制
rpm -e postgresql-libs

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境
  • 问题现象(报错)
  • 原因分析
  • 解决办法
    • 方法1 (推荐)
      • 方法2
      相关产品与服务
      TDSQL PostgreSQL 版
      TDSQL PostgreSQL 版(TDSQL for PostgreSQL, 原 TBase)是腾讯自主研发的分布式数据库系统,具备高 SQL 兼容度、完整分布式事务、高安全、高扩展、多级容灾等能力,成功应用在金融、政府、电信等行业核心业务中。同时提供完善的容灾、备份、监控、审计等全套方案,适用于GB~PB级海量 HTAP 场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档