在将我的 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
有没有人遇到同样的问题?