我正在尝试创建一个 AWS DMS(数据迁移服务)任务,将数据从运行 Postgres 的 RDS 只读副本迁移到 Redshift 集群,但是在迁移一些表时我的任务总是失败(通常是那些使用较频繁的表会失败)。
我从该只读副本创建了一个快照,并且能够成功将其迁移到 Redshift 集群,因此我认为问题与数据库本身无关。
请注意,我正在使用只读副本作为我的源,因为我的主数据库位于与 Redshift 集群不同的区域。
我做错了什么?
答案1
我发现了问题所在:由于我正在使用带有只读副本的 DMS,如果我有一个长时间运行的查询来将数据传输到 Redshift,则在更新只读副本时此查询将被取消。
max_standby_archive_delay
因此我将:和的值更改max_standby_streaming_ delay
为 15 分钟(900000 毫秒),这样 Postgres 将等待最多 15 分钟才将更新应用于只读副本,这段时间足够我将数据从只读副本传输到 Redshift。
请注意,无法从只读副本创建持续的数据传输。要么完全加载,要么什么也不加载。