将 AWS DMS 用于 Postgres RDS 时如何修复“用户必须指定 LSN”

How to fix `user must specify LSN` when using AWS DMS for Postgres RDS

我正在尝试使用 AWS DMS 迁移和同步 PostgreSQL 数据库,但出现以下错误。

Last Error Task error notification received from subtask 0, thread 0 
[reptask/replicationtask.c:2673] [1020101] When working with Configured Slotname, user must 
specify LSN; Error executing source loop; Stream component failed at subtask 0, component 
st_0_D27UO7SI6SIKOSZ4V6RH4PPTZQ ; Stream component 'st_0_D27UO7SI6SIKOSZ4V6RH4PPTZQ' 
terminated [reptask/replicationtask.c:2680] [1020101] Stop Reason FATAL_ERROR Error Level FATAL

我已经创建了一个复制槽并在源端点配置了它的名称。

DMS 引擎版本:3.1.4

有谁知道什么可以帮助我吗?

栾-

我遇到了同样的问题 - 我试图将数据从 Postgres 复制到 S3 bucket.I 会检查两件事 - 你的 Postgres 版本和正在使用的 DMS 版本。 我将我的 RDS postgres 版本降级到 9.6 并将我的 DMS 版本降级到 2.4.5 以使复制正常工作。

您可以在此处找到更多详细信息 - https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html

我想尝试更新版本的 DMS(3.1.4 和 3.3.0[beta]),因为它支持镶木地板,但我遇到了与您上面提到的相同的错误。

希望对您有所帮助。

AWS 似乎希望您使用 pglogical 扩展而不是 test_decoding。你必须:

  1. 在参数选项中将pglogical添加到shared_preload_libraries
  2. 重启
  3. CREATE EXTENSION pglogical;

dms 3.4.2postgres 12.3 上,没有 slotName= 设置 DMS 为自己创建了插槽。 另外 确保从迁移任务中排除 pglogical 架构,因为它具有不受支持的数据类型。

P.S。当 DMS 达到资源限制时,它会自动失败。解决 LSN 错误后,我继续得到 Last Error Task 'psql2es' was suspended due to 6 successive unexpected failures Stop Reason FATAL_ERROR Error Level FATAL 类型的失败,日志中没有任何错误。我使用 高级任务设置 > 全负载调整设置 并调整参数 downward.

解决了这个问题