0

现在的情况:

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

问题:

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

我现在站在哪里:

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

修复一些链接和路径问题后,此方法有效。

我的具体问题:

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

我会尝试文档中描述的“软升级”方式,但你认为这会奏效吗?

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

4

1 回答 1

2

我会尝试文档中描述的“软升级”方式,但你认为这会奏效吗?

我对 GEOS 的了解还不够,无法肯定地说,但这听起来是件好事。从您链接到的文档中:

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

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

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

于 2009-04-24T02:08:21.313 回答