我期待将 azure Postgres flexible 从版本 12 升级到 16。我可以使用 pgdump 在停机的情况下完成此操作,但我想以一种没有停机的方式进行。 Postgres sql位于azure云中,我尝试使用azure DMS,但不支持从
Postgres flexible server
迁移到另一个Postgres flexible server
因为我们的版本差异很大,所以我不想直接从12升级到16,而是想创建一个版本16的新数据库,然后将数据迁移到此并启用cdc。
请建议我可以采取的任何最佳方法来进行此升级或我需要注意的任何事情。
这是 PostgreSQL 灵活服务器的就地主要版本升级过程的限制,该过程会导致停机,但相对较短,如 Microsoft Azure 文档中所述。
对于需要高可用性和可扩展性的企业应用程序来说,这种限制确实很重要。
目前,PostgreSQL 灵活服务器不包含任何内置的近零停机主要版本升级机制。同意@goodfella的观点,它确实允许用户使用逻辑复制来设置他们的解决方案,如Azure的文档中所述。
逻辑复制是一种根据数据对象的复制标识(通常是主键)来复制数据对象及其更改的方法。我们使用术语逻辑与物理复制相反,物理复制使用精确的块地址和逐字节复制
这种逻辑复制方法可以显着减少停机时间,与您的目标接近零停机时间保持一致。
考虑到此功能的重要性,我鼓励您在 Azure 反馈论坛中提出功能请求。