正在寻找一种将Postgres 9.4.5迁移到最新版本11.1的方法,该方法具有尽可能少的停机时间。
我们拥有的是:
到目前为止,我们已经测试了两个选项:pg_dumpall / pg_restore和pg_upgrade,两个选项都可以正常工作,但要花费48小时以上才能完成。
根据文档https://www.postgresql.org/docs/current/upgrading.html#UPGRADING-VIA-REPLICATION,还有“逻辑复制”选项。但是,据我了解,9.4仅具有逻辑解码(没有复制)。因此,在我们的情况下,此选项不可用,对吗?
是否有其他选择可以迁移到v11,并尽可能减少停机时间?
答案 0 :(得分:2)
我相信pg_upgrade是您的最佳选择。您没有特别提及应该出现问题的任何内容。仍然支持逻辑备份。
答案 1 :(得分:1)
更新:我已成功将9.4.20升级到11.5,没有任何问题。
但是我们可以仅仅依靠信念吗?就我而言,该应用程序具有良好的测试覆盖范围,并且我删除了发行说明中的重大更改。
通常,对于系统的任何重要部分,我都倾向于从主要版本到主要版本的多步升级。
对于9.4.x至11.6(今天在AWS上),它需要4个步骤(至少在开发中): * 9.5.20 * 9.6.16 * 10.11 * 11.6
应在应用程序测试期间针对某些发行说明和警告执行每个步骤。
除pg_upgrade外,还可以使用复制。