1、操作须知
DTS数据迁移或同步过程一般包含四个阶段:预检查阶段、结构同步阶段、全量阶段、增量阶段。为了确保同步各个阶段的平顺,在创建同步任务前,请务必阅读以下使用须知。
本地PostgreSQL迁移到RDS for PostgreSQL的操作须知与其他云PostgreSQL迁移到RDS for PostgreSQL一样,详细信息参考其他云PostgreSQL迁移到RDS for PostgreSQL-操作流程的操作须知章节内容。
注意源库为本地PostgreSQL时,支持9.4/9.5/9.6/10/11/12/13/14/15版本,且源数据库版本不得高于目标数据库版本。
2、操作步骤
购买DTS同步实例
购买实例入口请参考订购数据迁移实例。
本地PostgreSQL同步到RDS for PostgreSQL的相关配置为:
在订购页面,实例类型选择"数据迁移",网络接入类型选择"公网EIP",目标库数据库类型选择"PostgreSQL",目标库实例请选择需要将数据同步至该库的RDS for PostgreSQL实例,完成页面信息的选择和设置后,完成迁移实例的购买。
配置任务信息并启动
DTS实例购买成功后,进入【实例配置】页面,实例处于“待配置”状态,先点击“绑定弹性IP”按钮完成公网弹性IP的绑定,然后再点击该实例操作列的“实例配置”按钮,通过如下步骤进行任务配置。
配置源库及目标库信息
填入源库与目标库的相关配置信息,包括数据库类型、IP地址端口、数据库账号、数据库密码等信息。完成上述信息的填写后可以进行数据库的连接测试,测试数据库能否正常连接。
配置待迁移对象
所有信息填写正确后,点击检测连通性并下一步按钮,选择要迁移的源库对象。
各配置及说明如下:
配置 | 说明 |
---|---|
任务步骤 | 如果只需要进行全量迁移,请同时勾选库表结构迁移和 全量迁移 。 如果需要进行不停机迁移,请同时勾选库 表结构迁移 、全量迁移和增量迁移 。 注意: 如果未选择增量迁移,为保障数据一致性,数据迁移期间请勿在源实例中执行DML和DDL操作。 |
同步对象 | 源库为PostgreSQL的情况下,支持表、视图、函数、存储过程、物化视图、规则、触发器,域、自定义类型等对象的同步。 在迁移对象框中单击待迁移的对象,然后单击将其移动到已选择对象框。已选择对象可以通过单击对象回退。选择迁移对象时,如不展开库的详细信息,则表示整库迁移,后续在增量任务过程中,可在源库创建新表,其他类型暂不支持。 |
映射名称更改 | 支持库表列三级名称映射,如需更改单个迁移对象在目标实例中的库名、表名和列名,选择对象,然后点击编辑按钮。如需批量更改迁移对象在目标实例中的库名、表名,请单击已选择对象方框右上方的“批量编辑”。 备注: 若迁移任务仅包含结构迁移和全量迁移,支持列映射名称更改,若迁移任务包含增量迁移,不允许列映射名称更改。 库表名仅支持字母、数字和下划线,长度不超过64个字符。 整库迁移时不建议做库表名映射。 |
过滤待迁移数据 | 支持设置where条件过滤数据,过滤条件不允许;和--字符,如需使用引号,请使用单引号('),只有满足where条件的数据才会同步到目标库。 |
增量迁移的DML | 选择增量迁移DML操作,选中迁移对象,点击“编辑”,在弹跳框中选择所需增量迁移的DML操作。若在数据库级别和表级别都指定了DML操作,则表级别的设置会覆盖库级别的。 |
增量迁移的DDL | 增量任务可选择是否迁移增量DDL。 注意: 1、任务中存在整库迁移的情况下,则必须勾选增量DDL迁移 。 2、非整库迁移的情况下,若选择DDL同步,则只同步待同步对象的DDL语句。 3、非整库迁移的情况下,若未选择增量DDL同步,则增量阶段不会同步任何DDL语句。 |
是否定时开始任务 | 可选择任务开始的时间,默认点击开始任务后立即启动迁移任务。 |
预检查并启动
预检查通过后,点击页面底部的“启动迁移”按钮,开始迁移任务。
检查项 | 检查内容 |
---|---|
lc_monetary参数配置一致性检查 | 检查源库与目标库的lc_monetary参数配置是否一致。 |
pg版本检查 | 检查源库和目标库的pg版本是不是符合要求。 |
同名对象存在性检查 | 检查目标库中是否存在和待迁移库同名的待迁移对象。 |
扩展插件兼容性检查 | 检查源库中安装的扩展插件,在目标库是否存在。 |
约束完整性检查 | 检查待迁移对象中子表依赖的父表是否被选中。 |
检查hot_standby_feedback参数配置 | 全量迁移源库pg为备节点时,hot_standby_feedback参数需配置为ON。 |
源库用户权限检查 | 检查源库用于DTS任务的用户是否具有相应的权限。 |
源库连通性检查 | 检查数据传输服务器能否连通源数据库。 |
源数据库的模式名表名是否合法 | 检查源数据库的模式名表名是否合法,名称不可以包含+"%'<>,.字符。 |
源库参数wal_level是否为logical | 勾选增量迁移时,检查源库wal_level参数值是否为logical。 |
目标库用户权限检查 | 检查目标库用于DTS任务的用户是否具有相应的权限。 |
目标库连通性检查 | 检查数据传输服务器能否连通目标数据库。 |
源库参数max_replication_slots校验 | 勾选增量迁移时,检查源库max_replication_slots参数值是否大于当前已使用的复制槽数量。 |
源库参数max_wal_senders校验 | 勾选增量迁移时,检查源库max_wal_senders参数值是否大于当前已使用的复制槽数量。 |
逻辑解码插件安装校验 | 勾选增量迁移时,检查源库是否安装逻辑解码插件decoderbufs。 |
待迁移表是否存在主键检查 | 勾选增量迁移时,检查待迁移表中是否存在无主键的表。 |
无日志表存在性检查 | 勾选增量迁移时,检查当前选择的待同步对象中的表是否存在无日志表。 |
源库主备状态检查 | 勾选增量迁移时,检查源库是否为集群中的主库。 |
ddl同步元数据检查 | 勾选ddl同步时,检查源库是否有ddl同步所需的元数据对象。 |
任务管理
查看迁移进度,请参考查看迁移进度。
查看迁移日志,请参考查看迁移日志。