0

我们有一个相当大的(至少对我们来说)拥有超过20,000个表的数据库,它在AWS EC2实例中运行,但由于以下几个原因, d想将其移入AWS RDS实例。我们尝试了几种不同的方法来迁移到RDS,但根据所涉及的数据量(2TB)和RDS的限制(用户和权限)以及兼容性问题,我们无法完成此任务。从AWS EC2实例到Amazon RDS的逐步PostgreSQL数据库迁移

鉴于上述事实,我在想,如果PostgreSQL的实际支持像映射远程模式到数据库中,如果有可能,我们可以试着鼓捣每架构迁移个人和,而不是整个数据库一次,这实际上会让这个过程变得更加痛苦。

我已阅读关于IMPORT FOREIGN SCHEMA功能,似乎是supported from version 9.5,这似乎在做伎俩,但有没有类似于9.4.9?

+0

如果它是一个新的RDS实例,为什么不让它[9.6.1?](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions ) – pozs

+0

在RDS方面@pozs肯定是一个选项,但是我不需要9.5+在另一方为IMPORT FOREIGN SCHEMA工作?我会担心使用RDS实例作为“使用中”数据库的方法,因为这会假设最初所有的模式都是远程的,我将不得不逐渐“本地化”它们,而不是相反使用EC2实例并逐渐将模式设置为远程。 – gvasquez

+0

@gvasques对于'IMPORT FOREIGN SCHEMA'工作,'postgres_fdw'需要支持它,它位于“主机”端。另请参阅[跨版本兼容性](https://www.postgresql.org/docs/current/static/postgres-fdw.html#AEN183114)。 – pozs

回答

1

您可能需要查看AWS数据库迁移工具以及相关的模式迁移工具。

这可以将数据从现有数据库移动到RDS中,并转换 - 或至少报告需要更改的内容 - 模式和关联对象。

您可以在AWS中运行此操作,将它指向现有基于EC2的数据库作为源,并使用新的RDS实例作为目标。

+0

这里值得一提的是,DMS似乎支持一个连续的迁移过程,这样当你“完成”时,目标数据库可以与源代码保持同步,所以你不仅仅是坐在冻结的数据库快照上,而是而是保持同步的副本,直到您准备通过将应用程序移动到目标来放弃源数据库...如果我正确地阅读它。 –

+0

@ Michael-sqlbot:这是正确的。通常需要一些限制或配置更改才能支持连续迁移(即对于mysql,您必须使用基于行的复制),但如果您可以遵守限制,则目标可以与源保持同步。 – chris

+0

已经尝试使用DMS工具,但不支持在我们的数据库中存在的al结构,因为它在迁移过程中发现了400多个问题:( – gvasquez

相关问题