Ubuntu24.04下PostgreSQL10的PostGIS因libproj版本不兼容报错
PostgreSQL10 + PostGIS2.4.8 在Ubuntu24.04下的libproj版本兼容问题
将原本运行Ubuntu20.04的电脑升级到Ubuntu24.04后,系统上的大型PostgreSQL10数据库(搭配PostGIS2.4.8)能正常连接,但调用PostGIS功能时出现libproj库版本错误。PostgreSQL和PostGIS均通过apt.postgresql.org的apt仓库安装。
报错信息
执行SQL语句时触发错误:
SELECT postgis_full_version();
返回错误:
ERROR: could not load library "/usr/lib/postgresql/10/lib/postgis-2.4.so": libproj.so.15: cannot open shared object file: No such file or directory CONTEXT: SQL statement "SELECT public.postgis_lib_version()" PL/pgSQL function postgis_full_version() line 25 at SQL statement
当前系统已安装的libproj版本为25,路径为/usr/lib/x86_64-linux-gnu/libproj.so.25.9.4.0,但PostGIS2.4.8依赖的是libproj.so.15。
疑问
如何解决该问题?是否可以在保留libproj25的同时安装旧版本?或者让PostGIS适配当前的libproj25版本?希望在逐步迁移至新版本PostgreSQL期间保持数据库可用。
后续处理(编辑补充)
尝试多种修复方法后,最终选择从Ubuntu升级前的备份中重新加载整个数据库。过程中需要修复PostgreSQL10与17之间的诸多根本性变化导致的错误,最终核心功能恢复正常。
感谢相关建议,其中一个可行但未尝试的方案是在Ubuntu24.04中运行Ubuntu20.04容器,但担心配置后仍存在版本差异问题,且考虑到PostgreSQL10已终止支持(EOL),迟早需要升级。再次感谢帮助与指导。
内容的提问来源于stack exchange,提问作者David M. Kaplan
相关产品推荐
相关产品推荐

