对象名修改(对象名映射)
实时同步功能可以支持源数据库和目标数据库中的同步对象(包括数据库、schema、表)的名称不同。如果同步的数据库对象在源数据库和目标数据库中的命名不同,那么可以使用数据复制服务提供的对象名映射功能进行映射。其中包括:库映射、schema映射、表映射。
对象名映射功能支持在如下场景使用:
- 首次创建实时同步任务时,在选择同步对象阶段可设置映射,后续不可编辑映射。
- 通过编辑同步对象功能来增加或者减少同步对象时,首次编辑的对象可以设置映射关系,已经在同步关系中的对象不可设置映射。
本小节主要介绍如何在实时同步任务配置过程中,使用对象名映射功能,该功能的映射关系详情可参见查看同步映射章节。
使用须知
- 不支持库名、表名带有换行符的对象进行映射。
- 若目标库是PG类(如GaussDB(DWS)、GaussDB和PostgreSQL),目的库的schema名称不能设置为以pg_开头,否则会迁移失败。
- 以下链路,不支持包含smallserial, serial, bigserial 这3个类型的表进行schema映射。
- GaussDB主备版->GaussDB分布式版
- GaussDB主备版->GaussDB主备版
- GaussDB分布式版->GaussDB分布式版
- GaussDB分布式版->GaussDB主备版
- 以下链路,支持多对一的对象映射。
- MySQL->MySQL
- MySQL->GaussDB(for MySQL)
- MySQL->GaussDB(DWS)
- MySQL->Kafka
- GaussDB(for MySQL)->MySQL
- GaussDB(for MySQL)->GaussDB(for MySQL)
- GaussDB(for MySQL)->GaussDB(DWS)
- Oracle->GaussDB
- Oracle->GaussDB(DWS)
库映射
实时同步过程中,如果待同步的库在源数据库和目标数据库中存储名称不同,可以使用实时同步提供的库映射功能进行库名映射。例如:将源数据库中的A库同步到目标数据库,变成目标数据库中的B库,此时就可以使用库映射功能来实现。
- 在“设定同步”页面,同步对象右侧已选对象框中,选择需要进行映射的数据库,单击“编辑”按钮。
图1 库映射
- 修改库名。
在“编辑库名”的弹出框中,填写新的数据库名,修改后的名称即为保存在目标数据库中的库名。
图2 修改库名
- 查看修改结果。
库名修改成功后,您会看到修改前的库名和修改后的新数据库名,至此,表示完成库映射的配置。图3 查看库名修改结果
schema映射
schema指数据库对象的集合,这个集合包含了各种对象如:表、视图、存储过程、索引等。
实时同步过程中,如果待同步的schema在源数据库和目标数据库中的名称不同,可以使用实时同步提供的schema映射功能进行schema名映射。例如:将源数据库中的schemaA同步到目标数据库,变成目标数据库中的schemaB,此时就可以使用schema映射功能来实现。
- 在“设定同步”页面,同步对象右侧已选对象框中,选择需要进行映射的schema,单击“编辑”按钮。
图4 schema映射
- 修改schema名。
在“编辑schema名”的弹出框中,填写新的schema名,修改后的名称即为保存在目标数据库中的schema名。
图5 修改schema名
- 查看修改结果。
schema名修改成功后,您会看到修改前的schema名和修改后的新schema名,至此,表示完成schema映射的配置。图6 查看schema修改结果
表映射
实时同步过程中,如果待同步的表在源数据库和目标数据库中的名称不同,可以使用实时同步提供的表映射功能进行表名映射。例如:将源数据库中的A表同步到目标数据库,变成目标数据库中的B表,此时就可以使用表映射功能来实现。
- 在“设定同步”页面,同步对象右侧已选对象框中,选择需要进行映射的表,单击“编辑”按钮。
图7 表映射
- 修改表名。
在“编辑表名”的弹出框中,填写新的表名,修改后的名称即为保存在目标数据库中的表名。
图8 修改表名
- 查看修改结果。
表名修改成功后,您会看到修改前的表名和修改后的新表名,至此,表示完成表映射的配置。图9 查看表名修改结果