【问题标题】:Postgresql: Can't access to file « $libdir/postgis-2.1 » no such file or directoryPostgresql:无法访问文件« $libdir/postgis-2.1 »没有这样的文件或目录
【发布时间】:2016-04-06 07:43:11
【问题描述】:

我猜这是一个已知问题,但由于我使用了删除我的 postgresql-9.4-postgis-2.1 的脚本,我现在无法在 Debian 下摆脱这个 SQL 错误。

无法访问文件 « $libdir/postgis-2.1 » no such file or directory

我做了以下事情:

- Remove new unwanted postgresql-9.5-postgis-2.2 package installed
- Reinstalling postgresql-9.4-postgis-2.1, postgresql-9.4-postgis-scripts and postgis
- Using SQL: ALTER EXTENSION postgis UPDATE TO '2.1.4' --under postgres user
- Using SQL: ALTER EXTENSION postgis_topology UPDATE TO '2.1.4' --under postgres user

然后SELECT * FROM pg_available_extensions; 返回

[...]
postgis 2.1.4   2.1.4   PostGIS geometry, geography, and raster spatial types and functions.

但在访问对象(如使用几何类型的表)时仍然会出现此消息。

有什么想法吗?

【问题讨论】:

    标签: postgresql migration postgis


    【解决方案1】:

    最后“解决”编译从源代码 postgis 2.2.2(也需要gdal、proj4和geos)然后发布的问题

    CREATE EXTENSION postgis;
    CREATE EXTENSION postgis_topology;
    

    因为 DROP EXTENSION postgis; 告诉我 postgis 已经不存在了。

    最后:

    ALTER EXTENSION postgis UPDATE TO '2.2.2';
    ALTER EXTENSION postgis_topology UPDATE TO '2.2.2';
    

    从 PostgreSQL 9.4 再次访问我的 geom 数据和函数。似乎从源代码编译正确更新了 postgresql 的变量路径并安装了 /usr/lib/postgresql/9.4/lib/postgis-2.2.so 不再存在(对于 postgis-2.1.so 也是如此),即使使用(重新)从 apt-get 安装。

    希望这会有所帮助。

    【讨论】:

    • 更改扩展 postgis 更新到“2.2.2”;对我不起作用,但 ALTER EXTENSION postgis UPDATE;做了
    【解决方案2】:

    在需要它的数据库中首次运行(以 postgres 管理员身份) (\c your-database-name):

    ALTER EXTENSION postgis UPDATE;
    

    如果返回成功,请检查您的版本

    SELECT PostGIS_Full_Version();
    

    但是,如果服务器返回它找不到扩展 postgis,则运行

    CREATE EXTENSION postgis;
    CREATE EXTENSION postgis_topology;
    ALTER EXTENSION postgis UPDATE;
    

    然后通过运行再次检查

    SELECT PostGIS_Full_Version();
    

    【讨论】:

      【解决方案3】:

      如果你使用的是 ubuntu

      使用以下命令进入 postgres 交互式 shell

      sudo -u postgres psql
      
      
      \c database_name;
      
      
      ALTER EXTENSION postgis UPDATE TO "2.4.4";
      
      
      SELECT PostGIS_Full_Version();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-16
        • 2011-03-23
        • 2020-10-26
        • 2021-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多