数据库版本:PostgreSQL 15.13 (PolarDB 15.13.4.0 build unknown) on x86_64-linux-gnu
数据库安装方式:源码编译安装
下面是git源码的分支
./pg_config里面的相关路径:
BINDIR = /geostar/polardb/bin
DOCDIR = /geostar/polardb/share/doc/postgresql
HTMLDIR = /geostar/polardb/share/doc/postgresql
INCLUDEDIR = /geostar/polardb/include
PKGINCLUDEDIR = /geostar/polardb/include/postgresql
INCLUDEDIR-SERVER = /geostar/polardb/include/postgresql/server
LIBDIR = /geostar/polardb/lib
PKGLIBDIR = /geostar/polardb/lib/postgresql
LOCALEDIR = /geostar/polardb/share/locale
MANDIR = /geostar/polardb/share/man
SHAREDIR = /geostar/polardb/share/postgresql
SYSCONFDIR = /geostar/polardb/etc/postgresql
PGXS = /geostar/polardb/lib/postgresql/pgxs/src/makefiles/pgxs.mk
数据库查询SHOW dynamic_library_path;的返回结果$libdir
ZomboDB版本:3000.2.8
zombodb.control内容:
comment = 'ZomboDB: Making Postgres and Elasticsearch work together like it''s 2023'
default_version = '3000.2.8'
module_pathname = '$libdir/zombodb'
relocatable = false
schema = zdb
superuser = true
zombodb.so的路径,就在LIBDIR 下面,权限也有
但是启动数据库之后,创建zdb扩展提示如下:
数据库没有识别出$libdir
把$libdir/zombodb改成绝对路径之后/geostar/polardb/lib/zombodb,数据库可以正常启动,可以成功执行CREATE EXTENSION zombodb;但是执行之后就无法连接数据库了,连接数据库就会报下面的异常:
也就是说配置成绝对路径,这个so库还是没找到。
后面经过排查,发现不止zdb的so库没有识别出来进行加载,之前安装的其他插件如postgis、pg_stat_statements等插件的so库也没有加载,只是之前没有影响数据库使用,所以没有发现。
在下下面的路径里面是有这些库的
我在dynamic_library_path里面配置绝对路径之后重启也是没有加载so库
麻烦大佬帮忙看下so库不加载的原因是什么?是不是数据库运行时的共享库路径和polardb配置的共享库路径不一致?如果是路径不一致导致的,怎么在源码编译安装的时候保持两个路径一直,并且自动加载扩展插件的so库?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about