从 postgres 8.1 迁移到 9.0

从 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,转储和导入,还是其他方法?

答案1

我认为这取决于您是否能接受停机时间。如果不是 24x7 紧急停机,我会计算转储和恢复时间,看看需要多长时间才能真正执行。

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

如果您要升级旧服务器并继续复制,您可能最终会使用 1.2 版 slony 执行上述所有操作,然后升级到 2.0 版 slony。不妨转储并恢复,然后直接跳到配置 slony 2.0。

如果您要继续在 9.0 和 8.1 之间进行复制,那么请继续使用 slony 复制所有内容,并在切换后让其在 slony 1.2 中运行(上面链接的切换说明使前一个主服务器成为新主服务器的从属服务器,因此复制会自动“逆转”)。

答案2

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

  1. 测试 PostgreSQL 9 是否与您的应用程序兼容 - 您的 ODBC 连接器是否需要更新?您的 SQL 查询是否仍能正常工作?
  2. 转储数据库并将其重新加载到新数据库中 - 这将涉及停机时间。

相关内容