现在的情况:

  • Ubuntu 8.04 服务器版(实时服务器)
  • Postgresql 8.3.7(来自标准存储库)
  • Postgis 1.3.3(来自标准存储库)
  • GEOS 2.3.4(来自标准存储库)

问题:

GEOS 包含错误,这些错误已在 3.0 版本中修复。我遇到过这些问题,需要升级 GEOS/Postgis 以包含 GEOS 修复。

我现在站的地方:

在具有几乎相同设置的测试机器上,我删除了 postgis-packages 并尝试针对 Postgis 1.3.5 和 Postgresql 8.3.7 重新编译 Geos 3.1.0。

修复了一些链接和路径问题后,这可以工作。

我的具体问题:

将我的数据库(表、函数、触发器、要点索引、数据...)从“基于旧版 geos/postgis”版本迁移到“新版”版本的最佳方法是什么?

我会尝试“软升级”方式 文档中描述 但你认为这行得通吗?

对这个支持 postgis 的数据库进行完整备份的最佳方法是什么,以便我可以在我正在编译的“较新的 postgis 版本”上完全恢复它?

有帮助吗?

解决方案

我将尝试文档中描述的“软升级”方式,但您认为这可行吗?

我对 GEOS 的了解还不够,无法确定,但这听起来是一个值得尝试的好东西。从您链接到的文档:

如果无法进行软升级,脚本将中止,并且您将收到有关需要进行硬升级的警告,因此请毫不犹豫地先尝试软升级。

否则,我只会遵循他们的“硬升级”说明,这些说明在功能上与通常的等效 pg_dump/pg_restore 用于升级到 PostgreSQL 新主要版本的方法。Postgres 文档中有很多关于如何做到这一点的信息;这是一个非常安全的过程,并且作为官方迁移方法,得到了很好的支持。

您可能希望考虑的一件事是在完成所有这些工作时升级到 PostgreSQL 8.4 beta。这是测试版软件,确实如此,但这对于您的环境来说可能是可以接受的,如果它合适,那么您将获得 8.4 的新功能以及软升级到 8.4 Final 的能力(因为磁盘上的格式不是预期的)在测试版开始后进行更改)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top