Ubuntu 22.04下PostgreSQL 16无法创建postgis-3扩展求助
解决PostGIS扩展创建报错:could not find function "lwgeom_neq" in file postgis-3.so
试试以下步骤排查修复:
彻底清理残留的PostGIS文件
卸载时残留的旧文件可能导致版本冲突,执行:sudo apt purge postgis postgresql-16-postgis-3 postgresql-16-postgis-3-scripts sudo apt autoremove --purge sudo rm -rf /usr/share/postgresql/16/extension/postgis* sudo rm -f /usr/lib/postgresql/16/lib/postgis-3.so确认并添加正确的软件源
Ubuntu 22.04默认源的PostGIS版本可能与PostgreSQL 16不兼容,添加PostgreSQL官方源后重新安装:sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt update sudo apt install postgresql-16-postgis-3 postgresql-16-postgis-3-scripts检查库文件权限
确保PostgreSQL进程能读取PostGIS库文件:ls -l /usr/lib/postgresql/16/lib/postgis-3.so正常权限应为
-rwxr-xr-x,所有者为root:root,如果权限异常,执行:sudo chmod 755 /usr/lib/postgresql/16/lib/postgis-3.so重新创建扩展
进入PostgreSQL命令行,先清理可能的残留扩展记录,再创建:DROP EXTENSION IF EXISTS postgis CASCADE; CREATE EXTENSION postgis;验证安装完整性
创建扩展后执行以下命令确认PostGIS正常工作:SELECT postgis_full_version();
内容的提问来源于stack exchange,提问作者John Fruncek
相关产品推荐
相关产品推荐

