【发布时间】:2015-06-22 09:39:10
【问题描述】:
我已从 OS X 10.9 升级到 10.10 Yosemite。我正在使用 postgis 2.1 运行 postgresql 9.3.3。在升级到 OS X 10.10 之前我没有进行 pgdump(我知道,我知道,杀了我……)但我有原始数据目录。我做了一个 brew install postgresql 并得到了 9.4.4。所以我用 Homebrew 安装了 Postgresql 9.3.9(我能找到的唯一 9.3 版本)。还 brew install postgis。然后我得到了用于 Postgresql 9.4.4 的 2.1 版 Postgis。我尝试安装 postgis20,但这不适用于我的数据库。
当我启动 Postgresql 9.3.3 时,我可以看到我的所有数据库,但是当我浏览时出现错误:
ERROR: could not access file "$libdir/postgis-2.1": No such file or directory
我试图链接到 $libdir 目录中的 posts-2.1,但随后我收到以下消息:
ERROR: incompatible library "/usr/local/Cellar/postgresql93/9.3.9/lib/postgis-2.1.so": version mismatch
DETAIL: Server is version 9.3, library is version 9.4.
显然我需要一个用于 Postgresql 9.3 的 postgis-2.1,但我不知道如何解决。
如果我尝试运行 pg_dumpall 我会收到此错误(我猜很明显):
➜ ./pg_dumpall >> old_backup.sql
pg_dump: Dumping the contents of table "darwin_test" failed: PQgetResult() failed.
pg_dump: Error message from server: ERROR: could not load library "/usr/local/Cellar/postgresql/9.3.3/lib/postgis-2.1.so": dlopen(/usr/local/Cellar/postgresql/9.3.3/lib/postgis-2.1.so, 10): Symbol not found: _json_tokener_errors
Referenced from: /usr/local/Cellar/postgresql/9.3.3/lib/postgis-2.1.so
Expected in: /usr/local/lib/libjson-c.2.dylib
in /usr/local/Cellar/postgresql/9.3.3/lib/postgis-2.1.so
那么如何让 postgis-2.1 再次与 postgresql 9.3.3 一起工作? 在自制软件中,我只找到 postgresql94 的 postgis-2.1。
【问题讨论】:
标签: postgresql osx-yosemite postgis