postgresql / postgis备份策略在geos / postgis重新编译后恢复?

时间:2009-04-23 20:28:50

标签: postgresql backup compilation postgis geos

现状:

  • 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。

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

我的具体问题:

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

我会尝试“软升级”方式described in the documentation,但您认为这会有效吗?

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

1 个答案:

答案 0 :(得分:2)

  

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

我不太了解GEOS肯定会说,但这听起来是件好事。从您链接到的文档:

  

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

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

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