AWS DMS 连续复制问题

问题描述 投票:0回答:2

我正在尝试创建一个 DMS 任务以将数据从 RDS Postgres 实例迁移到 S3 存储桶。满载工作一切正常,但连续复制失败。它给出了这个错误:

“逻辑解码需要 wal_level >= 逻辑”

当我从 pg_settings 检查系统设置时,它显示设置“wal_level”的值为“replica”。因此,我尝试更改设置 wal_level,但我无法在 RDS 的参数组中找到此设置。我的RDS实例使用的是9.6版本的参数。

当我尝试“ALTER SYSTEM SET wal_level TO '逻辑'”时,它失败说“必须是超级用户才能执行 ALTER SYSTEM 命令”,即使用户处于 rds_superuser 角色下。

请推荐。

amazon-web-services rds dms
2个回答
22
投票

参数组中的参数名称为“rds.logic_replication”,需要修改为1。默认值为0。

此属性将“wal_level”值更改为“逻辑”。


0
投票

您可以使用 AWS 管理的 PostgreSQL 数据库实例作为 AWS DMS 的源。您可以使用 AWS 托管的 PostgreSQL 源执行满载任务和变更数据捕获 (CDC) 任务。

为了做到这一点,你必须:

将数据库集群参数组中的

rds.logical_replication
参数设置为
1
。此静态参数需要重新启动 数据库实例生效。

作为应用此参数的一部分,AWS DMS 设置 wal_level, max_wal_senders、max_replication_slots 和 max_connections 参数。这些参数更改可以增加预写日志(WAL) 生成,因此仅在使用逻辑时设置 rds.logic_replication 复制槽。

AWS 文档

© www.soinside.com 2019 - 2024. All rights reserved.