如何使用 PostGIS 升级 PostgreSQL?

Posted

技术标签:

【中文标题】如何使用 PostGIS 升级 PostgreSQL?【英文标题】:How to upgrade PostgreSQL with PostGIS? 【发布时间】:2014-05-18 05:56:41 【问题描述】:

我运行的是 PostgreSQL 9.1,我正在尝试升级到 PostgreSQL 9.3:

$ /usr/lib/postgresql/9.3/bin/pg_upgrade -b /usr/lib/postgresql/9.1/bin -B /usr/lib/postgresql/9.3/bin -d /var/lib/postgresql/9.1/main/ -D /var/lib/postgresql/9.3/main/ -O "-c config_file=/etc/postgresql/9.3/main/postgresql.conf" -o "-c config_file=/etc/postgresql/9.1/main/postgresql.conf"

但是它失败了:

检查是否存在致命的必需库

您的安装引用了缺少的可加载库 新安装。您可以将这些库添加到新的 安装,或从旧版本中删除使用它们的功能 安装。问题库列表在文件中: loadable_libraries.txt

loadable_libraries.txt 包含:

无法加载库“$libdir/postgis-1.5”错误:无法访问 文件 "$libdir/postgis-1.5": 没有这样的文件或目录

类似于Missing libraries when upgrading to PostGIS 2.1 and PostgreSQL 9.3.1 using homebrew。

我正在运行 Ubuntu,我已经使用 apt-get 安装了带有 PostGIS 的 PostgreSQL。

有人做到了吗?

【问题讨论】:

我会尝试找到任何名为postgis-1.5 的目录,并根据它的位置推断它应该在新版本中复制到哪里。如果这不起作用,也许您应该卸载 postgis1.5,升级然后使用 CREATE EXTENSION 添加 postgis 2.1。 我可以在拥有包含几何数据的数据库时卸载 postgis 吗? 【参考方案1】:

由于PostGIS 1.5 is not supported with PostgreSQL 9.3,您也在升级 PostGIS 版本。由于 pg_upgrade 不能用于此,您需要遵循 hard upgrade procedure,它利用 PostGIS 附带的 postgis_restore.pl 脚本中的逻辑。如果您对该程序有任何其他问题,请将其修改为此问题。

【讨论】:

以上是关于如何使用 PostGIS 升级 PostgreSQL?的主要内容,如果未能解决你的问题,请参考以下文章

postgis版本升级

postgis版本升级

PostGIS 版本阻止了 Amazon RDS 上的 PostgreSQL 升级

Linux postgis升级(卸载)

PostGIS 错误:类型“地理”不存在

POSTGIS的版本都有哪些?