我怎样才能从 RDS for PostgreSQL 迁移到 Aurora PostgreSQL?

上次更新日期:2022 年 11 月 21 日

我想从 Amazon Relational Database Service(Amazon RDS)for PostgreSQL 迁移到兼容 Amazon Aurora PostgreSQL 的版本。

简短描述

有五种方法可以将数据从现有的 Amazon RDS for PostgreSQL 数据库迁移到兼容 Amazon Aurora PostgreSQL 的数据库集群。

要从 Amazon RDS for PostgreSQL 迁移到 Aurora PostgreSQL,请根据您的用例使用以下方法之一:

解决方法

使用快照迁移 RDS for PostgreSQL

要创建 Aurora PostgreSQL 数据库集群,您可以迁移 RDS for PostgreSQL 数据库实例的数据库快照。新的 Aurora PostgreSQL 数据库集群由原始的 RDS for PostgreSQL 数据库实例中的数据填充。RDS for PostgreSQL 快照必须使用与 Aurora PostgreSQL 相同的或更低的次要版本。

您可以使用 Amazon RDS 控制台或 AWS 命令行界面(AWS CLI)迁移快照。有关说明,请参阅将 RDS for PostgreSQL 数据库实例的快照迁移至 Aurora PostgreSQL 数据库集群

重要提示:

使用 Aurora 只读副本迁移 RDS for PostgreSQL

通过使用 Aurora 只读副本,将 RDS for PostgreSQL 数据库实例作为新 Aurora PostgreSQL 数据库集群的基础。Aurora 只读副本选项仅适用于在同一 AWS 区域和账户内迁移。Aurora 只读副本选项可最大限度地减少迁移期间的停机时间。当主 RDS 实例和 Aurora 只读副本之间的复制延迟为零(0)时,您可以升级新集群。

只有在 AWS 区域提供兼容的 Aurora PostgreSQL 版本时,才能使用 Amazon RDS 控制台创建 Aurora 只读副本。您可以使用 Amazon RDS 控制台或 AWS CLI,为 RDS for PostgreSQL 数据库实例创建 Aurora 只读副本。有关说明,请参阅使用 Aurora 只读副本将数据从 RDS for PostgreSQL 数据库实例迁移到 Aurora PostgreSQL 数据库集群

注意:来源 RDS for PostgreSQL 必须有足够的存储容量,才能在迁移期间保留预写日志(WAL)段。有关更多信息,请参阅准备使用 Aurora 只读副本迁移数据

使用 pg_dump 实用程序迁移 RDS for PostgreSQL

Pg_dump 是一个用于备份 PostgreSQL 数据库的实用程序。如果您的数据库规模较小,或者没有停机时间方面的考虑,则可以使用此选项。此方法最适合迁移几 GB 到 500 GB 大小的数据库。迁移较大的数据库可能需要更长的中断时间,具体取决于数据库大小。使用 Amazon Elastic Compute Cloud(Amazon EC2)实例作为与目标数据库位于同一可用区内的主机,以减少网络延迟。

有关说明,请参阅从 Amazon EC2 实例导入 PostgreSQL 数据库

有关其他 pg_dump 信息,请参阅 PostgreSQL 文档。

使用逻辑复制迁移 RDS for PostgreSQL

不支持 Amazon RDS for PostgreSQL 和 Aurora PostgreSQL 作为外部 PostgreSQL 物理复制的目标。但是,逻辑复制是缩短总体迁移时间的一种方法。您可以在 RDS for PostgreSQL 和 Aurora PostgreSQL 实例之间设置发布者和订阅者模型,以便在最短的停机时间内迁移数据。

有关更多信息,请参阅 将 PostgreSQL 数据库迁移到 Amazon RDS 和 Amazon Aurora 的最佳实践,然后按照 逻辑复制中的说明进行操作。

使用从 Amazon S3 导入的数据迁移 RDS for PostgreSQL

如果您的数据使用 Amazon Simple Storage Service(Amazon S3)进行存储,则可以将数据迁移到 Aurora PostgreSQL 数据库集群实例。有关说明,请参阅将数据从 Amazon S3 导入 Aurora PostgreSQL 数据库集群


这篇文章对您有帮助吗?


您是否需要账单或技术支持?