将数据从 RDS 只读副本迁移到 Redshift

将数据从 RDS 只读副本迁移到 Redshift

我正在尝试创建一个 AWS DMS(数据迁移服务)任务,将数据从运行 Postgres 的 RDS 只读副本迁移到 Redshift 集群,但是在迁移一些表时我的任务总是失败(通常是那些使用较频繁的表会失败)。

我从该只读副本创建了一个快照,并且能够成功将其迁移到 Redshift 集群,因此我认为问题与数据库本身无关。

请注意,我正在使用只读副本作为我的源,因为我的主数据库位于与 Redshift 集群不同的区域。

我做错了什么?

答案1

我发现了问题所在:由于我正在使用带有只读副本的 DMS,如果我有一个长时间运行的查询来将数据传输到 Redshift,则在更新只读副本时此查询将被取消。

max_standby_archive_delay因此我将:和的值更改max_standby_streaming_ delay为 15 分钟(900000 毫秒),这样 Postgres 将等待最多 15 分钟才将更新应用于只读副本,这段时间足够我将数据从只读副本传输到 Redshift。

请注意,无法从只读副本创建持续的数据传输。要么完全加载,要么什么也不加载。

参考文档:https://www.postgresql.org/docs/9.0/hot-standby.html

相关内容