PostGIS扩展创建失败:无法加载rtpostgis-2.4.so依赖libgdal.so.20求助
解决PostGIS扩展安装时
libgdal.so.20找不到的问题 我之前也踩过这个坑!你遇到的错误是典型的动态链接库依赖缺失——虽然PostGIS的库文件确实在/usr/pgpro-9.6/lib/路径下,但它依赖的GDAL库(libgdal.so.20)不在系统的动态链接库搜索路径里,导致PostgreSQL加载PostGIS库时找不到依赖。
排查与解决步骤
1. 定位GDAL库的实际位置
先确认系统里到底有没有libgdal.so.20,用以下命令搜索:
find / -name libgdal.so.20 2>/dev/null
加
2>/dev/null是为了过滤掉权限不足的错误输出,让结果更干净。
2. 将GDAL库路径加入系统动态链接库配置
如果上面的命令找到了库的路径(比如/usr/local/lib/libgdal.so.20),只需要把它所在的目录添加到系统动态链接库的搜索列表:
- 新建或编辑配置文件:
sudo vi /etc/ld.so.conf.d/gdal.conf - 在文件里写入GDAL库所在的目录(比如
/usr/local/lib),保存退出。 - 刷新动态链接库缓存:
sudo ldconfig
3. 如果找不到GDAL库,安装对应版本
如果搜索不到libgdal.so.20,说明你的系统里没有安装对应版本的GDAL(PostGIS 2.4通常依赖GDAL 2.x系列):
- Debian/Ubuntu系统:
sudo apt-get install libgdal20 - CentOS/RHEL系统:
sudo yum install gdal-libs - 如果包管理器里没有对应版本,可能需要从源码编译GDAL 2.x版本,编译完成后再执行步骤2的配置。
额外排查技巧
可以用ldd命令查看rtpostgis-2.4.so的所有依赖,确认哪些库缺失:
ldd /usr/pgpro-9.6/lib/rtpostgis-2.4.so
输出里标记为not found的就是缺失的依赖,针对性解决即可。
内容的提问来源于stack exchange,提问作者Damian Gądziak
相关产品推荐
相关产品推荐

