本文为您介绍如何使用数据传输服务DTS(Data Transmission Service)更新同步或迁移实例目标库中的Sequence值。
背景信息
Sequence(序列)是数据库中的一种特殊对象,用于生成一组唯一的递增或递减的数字,这些数字通常用于表中的主键值。为避免在数据同步或迁移到目标数据库后,由于Sequence变更而导致的主键冲突问题,可以使用Sequence值的调整功能。该功能支持获取源数据库当前Sequence的值,并添加一个偏移量后应用到目标库。
例如,源数据库中一个Sequence的当前值为12345,使用Sequence值的调整功能指定偏移量为10000,DTS会将目标数据库中对应Sequence的值更新为22345。
支持的链路
表格中的PostgreSQL包含RDS PostgreSQL实例和自建PostgreSQL数据库。
源库 | 目标库 | 相关文档 |
PostgreSQL | PostgreSQL、PolarDB(兼容Oracle)、PolarDB for PostgreSQL | |
PolarDB for PostgreSQL | PostgreSQL、PolarDB for PostgreSQL | |
PolarDB(兼容Oracle) | PolarDB(兼容Oracle) | |
Oracle | PolarDB(兼容Oracle) |
前提条件
目标实例需同时满足以下条件:
实例需为包含增量任务的同步或迁移实例。
实例已进入增量迁移或增量同步阶段。
实例的运行状态为运行中或已暂停。
注意事项
双向同步实例不支持此功能。
DTS默认会更新目标库中与源库同名Sequence的值,不支持更新指定Sequence的值。
若在更新目标库中的Sequence值后源库有增量数据写入,可能会导致目标库中的Sequence值不符合预期。
操作步骤
进入目标地域的任务列表页面(二选一)。
通过DTS控制台进入
登录数据传输服务DTS控制台。
在左侧导航栏,单击数据同步或数据迁移。
在页面左上角,选择实例所属地域。
通过DMS控制台进入
说明实际操作可能会因DMS的模式和布局不同,而有所差异。更多信息,请参见极简模式控制台和自定义DMS界面布局与样式。
登录DMS数据管理服务。
在顶部菜单栏中,选择
或 。在同步任务或迁移任务右侧,选择实例所属地域。
找到目标实例,并单击实例ID。
更新目标库的Sequence值。
在任务管理页面,单击增量写入模块。
在基本信息页签,单击同步Sequence。
在弹出的对话框,设置Sequence 偏移量。
在对话框下方,单击同步。
查看结果。
任务完成后,将会出现同步成功的提示,并显示任务执行前后的Sequence值。
单击关闭。