AWS DMS从Aurora PostgreSQL迁移至Azure PostgreSQL失败求助
解决AWS Aurora PostgreSQL迁移至Azure的DMS失败问题
核心权限验证
- 确保DMS使用的源数据库账户拥有REPLICATION权限和目标表的SELECT权限:
-- 授予复制客户端权限 GRANT REPLICATION CLIENT ON DATABASE your_database TO dms_user; -- 授予复制从机权限(Aurora PostgreSQL兼容) GRANT REPLICATION SLAVE ON DATABASE your_database TO dms_user; -- 批量授予指定schema下所有表的SELECT权限 GRANT SELECT ON ALL TABLES IN SCHEMA your_schema TO dms_user; -- 授予未来创建表的默认SELECT权限 ALTER DEFAULT PRIVILEGES IN SCHEMA your_schema GRANT SELECT ON TABLES TO dms_user;
Aurora PostgreSQL参数配置检查
修改集群参数组的以下配置(需重启Aurora实例生效):
wal_level设置为logical(逻辑复制必需)rds.logical_replication设置为1(Aurora专属逻辑复制开关)max_replication_slots至少设为5(避免复制槽不足)max_wal_senders至少设为5(确保有足够的WAL发送进程)
DMS端点与任务配置优化
- 源端点类型选择
PostgreSQL,填写Aurora集群的读写端点作为服务器地址 - 在端点的
Extra connection attributes中添加:plugin_name=pgoutput - 测试端点连接,确认DMS复制实例的安全组/NACL已开放Aurora的5432端口
- 迁移任务的日志级别设为
DEBUG,强制生成详细日志:任务配置 → 日志设置 → 日志级别选择
DEBUG
CloudWatch日志无输出排查
- 确认DMS复制实例关联的IAM角色包含
cloudwatch:PutLogEvents权限 - 若仍无日志,直接登录DMS复制实例的EC2控制台,查看本地日志:
cat /var/log/dms/dms-task-<任务ID>.log
全量加载完成但提示无数据的处理
- 检查迁移任务的表映射规则,确认无错误的过滤条件或表名匹配规则
- 更新源表统计信息,避免DMS误判数据量:
ANALYZE VERBOSE your_schema.your_table; - 查看DMS任务的全量加载报告,对比源表行数与加载行数是否一致
内容的提问来源于stack exchange,提问作者Luis Puente
相关产品推荐
相关产品推荐

