AWS DMS同步任务报错无匹配表,如何配置test_db单库同步的选择规则
AWS DMS PostgreSQL跨实例同步选择规则配置方案
报错根因
No tables were found at task initialization报错由两类原因导致:
- 源端点未指定要同步的
test_db数据库,DMS默认连接PostgreSQL的默认postgres库,扫描不到目标库下的表对象 - 选择规则的schema、表匹配模式和源库实际的对象名不匹配
配置步骤
1. 修改源端点配置
- 进入AWS DMS控制台的「端点」页面,找到已创建的源RDS PostgreSQL端点
- 点击「修改」,找到「端点设置」区域的「数据库名称」输入框,填入
test_db - 保存修改后重新运行连接测试,确认连接状态为成功
2. 配置任务选择规则
如需同步test_db下public schema的所有表,选择规则填写如下:
- 规则类型:选择规则
- 架构名称:填入
public(如果需要匹配多个非系统schema,可填通配符%,注意不要匹配pg_catalog、information_schema系统schema) - 表名称:填入
%(通配符匹配所有表,如需同步指定表可填写对应表名) - 规则操作:选择「包含」
- 目标配置按需保持默认映射或修改schema、表名的映射规则
如果使用JSON模式配置规则,可参考如下示例:
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "sync-public-all-table", "object-locator": { "schema-name": "public", "table-name": "%" }, "rule-action": "include" } ] }
注意事项
- PostgreSQL的库、schema、表名默认大小写不敏感,存储时统一转为小写,如果自定义对象使用大写名称,匹配时需要严格对应大小写
- 配置完成后先运行任务预检查,确认「表存在性检查」项通过后再启动同步任务
内容的提问来源于stack exchange,提问作者Eyal Solomon
相关产品推荐
相关产品推荐

