使用自制程序升级到PostGIS 2.1和PostgreSQL 9.3.1时缺少库

时间:2013-10-25 18:58:33

标签: postgresql upgrade postgis

在将PostgreSQL从9.2.4升级到9.3.1(通过OS X上的自制程序)的过程中,我遇到了一个奇怪的问题。这是我到目前为止采取的步骤

  • PostgreSQL,PostGIS和安装的必需库(无错误)
  • 在新数据库上运行initdb
  • 停止了两台服务器
  • 正在运行pg_upgrade

pg_upgrade执行必要的检查,创建旧群集的转储,但是当导入新群集时,我收到以下错误:

> ./pg_upgrade -b /usr/local/Cellar/postgresql/9.2.4/bin/ -B /usr/local/Cellar/postgresql/9.3.1/bin -d /usr/local/var/postgres/ -D /usr/local/var/postgres9.3.1 -u postgres
Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok
Checking database user is a superuser                       ok
Checking for prepared transactions                          ok
Checking for reg* system OID user data types                ok
Checking for contrib/isn with bigint-passing mismatch       ok
Creating dump of global objects                             ok
Creating dump of database schemas
                                                            ok
Checking for presence of required libraries                 fatal

Your installation references loadable libraries that are missing from the
new installation.  You can add these libraries to the new installation,
or remove the functions using them from the old installation.  A list of
problem libraries is in the file:
    loadable_libraries.txt

Failure, exiting

似乎PostgreSQL 9.3.1尝试使用不兼容的PostGIS 2.0

Could not load library "$libdir/postgis-2.0"
ERROR:  could not access file "$libdir/postgis-2.0": No such file or directory

Could not load library "$libdir/rtpostgis-2.0"
ERROR:  could not access file "$libdir/rtpostgis-2.0": No such file or directory

有没有人遇到同样的问题?

1 个答案:

答案 0 :(得分:1)

我最近遇到了这个问题并重新安装postgis为我工作。也就是说,转到你命名源文件的文件夹(如果你从源代码安装了postgis)并重新运行:

./configure
make
sudo make install

如果您安装了最新版本的postgresql,postgis应安装到新的postgresql扩展文件夹中:

  

/usr/share/postgresql/x.x/extension /

要检查,请运行:

sudo su -l postgres

psql template1 -p 5433

SELECT name, default_version,installed_version 
FROM pg_available_extensions WHERE name LIKE 'postgis%' ;

如果已成功安装postgis,您应该会看到“已安装”列中指示的版本号。现在,当您尝试运行pg_upgrade命令时,一切都应该可以正常工作。

希望这有帮助。