早上好,集体智慧。
我最近不得不通过将原始数据目录文件插入全新安装来恢复postgresql-9.1数据库。除了我无法打开PostGIS空间数据外,我的所有数据都完好无损。
我可以使用以下方法在新数据库上启用空间数据:
CREATE extension postgis;
但是,尝试访问已恢复的空间数据库中的数据会导致错误。
例如,
SELECT PostGIS_full_version();
抛出错误:
ERROR: could not access file "$libdir/postgis-2.0": No such file or directory
SQL state: 58P01
Context: SQL statement "SELECT postgis_lib_version()"
PL/pgSQL function "postgis_full_version" line 17 at SQL statement
我在这个主题上看过这篇文章,但是没有足够的信息来解决我的问题。
ERROR: could not access file "$libdir/postgis-2.0" postgresapp
这是我的PostGIS版本:
POSTGIS="2.1.0SVN" GEOS="3.4.1-CAPI-1.8.0 r3892" PROJ="Rel. 4.7.1, 23 September 2009" GDAL="GDAL 1.7.3, released 2010/11/10" LIBXML="2.7.8" LIBJSON="UNKNOWN" (core procs from "2.1.0SVN" need upgrade) RASTER (raster procs from "2.1.0SVN" need upgrade)
我假设这是一个路径变量,我需要以某种方式重置,但我不知道如何访问它。
非常感谢你的提示。
忘了说:我确实在pg_config文件中检查了libdir的设置。它设置为usr / lib / postgresql / 9.1 / lib,它适用于我启用的新数据库。有没有办法检查旧数据的设置?怎么会有所不同? THX。
答案 0 :(得分:3)
我安装了2.1.0SVN一段时间并解决了问题而没有降级http://www.lontongcorp.com/?p=783
基本上你需要链接
sudo ln -s /usr/lib/postgresql/9.2/lib/postgis-2.1.so /usr/lib/postgresql/9.2/lib/postgis-2.0
sudo ldconfig
答案 1 :(得分:1)
解决:一些更多的根源导致我在PostGIS数据库上的扩展,我无法更新到2.1.0SVN。重新安装到PostGIS 2.0.3解决了这个问题。
答案 2 :(得分:0)
我使用postgres 9.3和postgis 2.1在debian上遇到了同样的问题,我通过重新安装postgis-2.1解决了它,现在它正常工作。
答案 3 :(得分:0)
通过yum升级postgres + postgis后我遇到了同样的问题。
我通过升级postgis website:
中提到的数据库解决了这个问题-- Upgrade PostGIS (includes raster)
ALTER EXTENSION postgis
UPDATE TO "2.1.4";
-- Upgrade Topology
ALTER EXTENSION postgis_topology
UPDATE TO "2.1.4";