You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 23:22:24