5

早上好,集体智慧。

我最近不得不通过将原始数据目录文件插入全新安装来恢复 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

我已经看到有关该主题的这篇文章,但没有足够的信息来解决我的问题。

错误:无法访问文件“$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,它适用于我启用的新数据库。有没有办法检查旧数据的设置?会有什么不同?谢谢。

4

4 回答 4

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
于 2013-10-15T07:35:49.747 回答
2

已解决:更多的支持让我找到了我的 PostGIS 数据库的扩展,我无法将其更新到 2.1.0SVN。重新安装到 PostGIS 2.0.3 解决了这个问题。

于 2013-10-09T13:56:50.393 回答
0

我在使用 postgres 9.3 和 postgis 2.1 的 debian 上遇到了同样的问题,我通过重新安装 postgis-2.1 解决了这个问题,现在它可以正常工作了。

于 2014-01-10T21:13:45.487 回答
0

通过 yum 升级 postgres+postgis 后我遇到了同样的问题。

我通过升级postgis 网站上提到的数据库解决了这个问题:

-- Upgrade PostGIS (includes raster)
ALTER EXTENSION postgis 
 UPDATE TO "2.1.4";
-- Upgrade Topology
ALTER EXTENSION postgis_topology 
 UPDATE TO "2.1.4";
于 2014-09-29T22:12:50.247 回答