【发布时间】:2020-11-12 23:29:29
【问题描述】:
我正在使用 OSX 并通过 Homebrew 安装了 postgres。我刚刚将 Postgres 从 v11 升级到 v13。现在我尝试使用以下方法更新数据库文件:
brew postgresql-upgrade-database
这失败了,查看日志,错误是:
pg_dump: error: query failed: ERROR: could not access file "$libdir/postgis-2.5": No such file or directory
如果我这样做brew info postgis,那么我会看到:
% brew info postgis
postgis: stable 3.0.2 (bottled), HEAD
Adds support for geographic objects to PostgreSQL
https://postgis.net/
/usr/local/Cellar/postgis/3.0.2_1 (435 files, 29.7MB) *
Poured from bottle on 2020-11-12 at 23:15:12
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/postgis.rb
License: GPL-2.0-or-later
==> Dependencies
Build: gpp ✘, pkg-config ✔
Required: gdal ✔, geos ✔, json-c ✔, pcre ✔, postgresql ✔, proj ✔, protobuf-c ✔, sfcgal ✔
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 11,064 (30 days), 26,959 (90 days), 80,033 (365 days)
install-on-request: 10,946 (30 days), 26,628 (90 days), 78,351 (365 days)
build-error: 0 (30 days)
所以我猜 Postgis 3.0.2 是作为升级过程的一部分安装的,而 pg_dump(数据库文件升级需要它)找不到 Postgis 2.5。
我该怎么办?我想我可以暂时将 Postgis 2.5 重新安装到 $libdir - 但是如何?
pg_config --pkglibdir 表明$libdir 是/usr/local/lib/postgresql。如果我列出该目录中的文件,我可以看到它包含postgis-3.so,但不包含postgis-2.5.so。
注意:我目前也无法使用 psql 访问 postgres - 我看到了可怕的 psql: error: could not connect to server: could not connect to server: No such file or directory。但是,brew services list 告诉我 postgresql 正在运行。
【问题讨论】:
标签: postgresql postgis