从postgres 8.1迁移到9.0

我们正在从一台服务器上运行postgres 8.1到另一台服务器上运行9.0。 我们正在寻找使用slony来复制两者之间,并已经在这台新的服务器上slony-I 2。 然而,它不适用于postgres 8.1,虽然slony 1.2。

将数据库迁移到新服务器的最佳方法是什么? 在两个slony 1.2,slony 2.0都在转储和导入,还是别的?

我想说这取决于你是否可以接受停工。 如果它不是24×7的关键,我会花时间转储并恢复,看看它真正需要多长时间才能完成。

否则,如果在切换到新服务器之后不打算继续复制,则将花费大量时间安装旧版本的slony,设置复制,等待所有内容被复制, 切换到新的主服务器 ,然后closures所有slony的东西。

如果你打算升级旧的服务器并继续复制,你最终可能会用1.2 slony来完成上面的所有操作,然后升级到2.0 slony。 不妨转储和恢复,然后直接跳到configurationslony 2.0。

如果你要继续在9.0和8.1之间复制,那么请继续使用slony复制所有内容,并在切换之后将其保留在slony 1.2中(上面链接的切换指令使前主节点成为新主节点的从节点,所以复制自动“倒转”)。

做出如此大改变的最好也是最可靠的方法是:

  1. testingPostgreSQL 9与您的应用程序一起工作 – 您的ODBC连接器是否需要更新? 你的SQL查询仍然正确吗?
  2. 转储数据库并将其重新加载到新的数据库中 – 这将涉及停机时间。