PostgreSQL迁移/同步到PostgreSQL
本页介绍PostgreSQL迁移/同步到PostgreSQL时各种预检查不通过情况的故障排除方法。
数据库参数检查
1、lc_monetary参数配置一致性检查
失败原因 | 处理建议 |
---|
源库与目标库的lc_monetary参数配置不一致。 | |
2、检查hot_standby_feedback参数配置
失败原因 | 处理建议 |
---|
源库是备库,源库中的参数hot_standby_feedback为off。 | 在全量同步启动前,将源库中的hot_standby_feedback参数设置为ON; 待全量同步结束后,将该参数改回原来的值。
|
3、校验源库参数wal_level是否为logical
失败原因 | 处理建议 |
---|
勾选增量迁移时,源库wal_level参数值非logical。 | 将源库的wal_level参数修改为logical。自建数据库修改方式可参考: |
4、源库参数max_replication_slots校验
失败原因 | 处理建议 |
---|
勾选增量迁移时,源库max_replication_slots参数值小于或等于当前已使用的复制槽数量。 | |
5、源库参数max_wal_senders校验
失败原因 | 处理建议 |
---|
勾选增量迁移时,源库max_wal_senders参数值小于或等于当前已使用的复制槽数量。 | |
6、待迁移表是否存在主键检查
失败原因 | 处理建议 |
---|
勾选增量迁移时,待迁移表中存在无主键的表。 | |
7、源库主备状态检查
数据库用户权限检查
1、源库用户权限检查
失败原因 | 处理建议 |
---|
源库账号没有对模式的USAGE权限。 | |
源库账号没有对待迁移表的SELECT权限。 | |
源库账号没有对待迁移序列的SELECT权限。 | |
源库账号没有对系统表pg_catalog.pg_authid的SELECT权限。 | |
2、目标库用户权限检查
失败原因 | 处理建议 |
---|
目标库账号不具有当前database下创建schema的权限。 | 连接到 PostgreSQL 目标数据库,使用超级用户或具有适当权限的用户执行以下命令: GRANT CREATE, TEMPORARY, CONNECT ON DATABASE <database_name> TO <username>;
|
数据库版本检查
1、PostgreSQL版本检查
失败原因 | 处理建议 |
---|
源库的版本不符合要求,大版本号不能低于9.4。 目标库的版本不符合要求,大版本号不能低于9.5。 当前源库的大版本号大于目标库的大版本号。
| |
网络情况检查
1、源库连通性检查
失败原因 | 处理建议 |
---|
源数据库账号或密码不正确。 | 输入正确的数据库账号和密码后重新执行预检查。 |
源数据库所在网络或服务器设置了防火墙。 | 查看数据库所在的网络防火墙是否限制了DTS的IP地址段,如果有,关闭防火墙或者将DTS的IP地址加入防火墙白名单中。 |
源库迁移账号登录权限不足。 | 登录源库,为迁移账号添加相应的远程访问权限。 |
网络互通问题。 | 联系数据库所在机器管理人员和DTS部署机器管理人员排查问题。 |
2、目标库连通性检查
失败原因 | 处理建议 |
---|
目标数据库账号或密码不正确。 | 输入正确的数据库账号和密码后重新执行预检查。 |
目标数据库所在网络或服务器设置了防火墙。 | 查看数据库所在的网络防火墙是否限制了DTS的IP地址段,如果有,关闭防火墙或者将DTS的IP地址加入防火墙白名单中。 |
目标库迁移账号登录权限不足。 | 登录目标库,为迁移账号添加相应的远程访问权限。 |
网络互通问题。 | 联系数据库所在机器管理人员和DTS部署机器管理人员排查问题。 |
数据库对象检查
1、源数据库的模式名表名是否合法
失败原因 | 处理建议 |
---|
待迁移对象中存在非法的字符。 | 更改含非法字符的待迁移对象名称。 取消含非法字符的待迁移对象。
|
2、同名对象存在性检查
失败原因 | 处理建议 |
---|
目标库存在与待迁移对象同名的对象。 | 取消同名对象的迁移。 将同名对象进行名称映射。 删除目标库存在的同名对象。
|
3、约束完整性检查
失败原因 | 处理建议 |
---|
待迁移子表依赖的父表没有被选择为迁移对象。 | 在迁移对象中加入相应父表。 在迁移对象中移除相应子表。 删除相关外键依赖。
|
4、扩展插件兼容性检查
失败原因 | 处理建议 |
---|
源库存在的扩展插件在目标库不存在。 源库插件版本高于目标库对应的插件版本。
| |
5、逻辑解码插件安装校验
失败原因 | 处理建议 |
---|
勾选增量迁移时,源库未安装逻辑解码插件 decoderbufs。 | |
6、待迁移表是否存在主键检查
失败原因 | 处理建议 |
---|
勾选增量迁移时,待迁移表中存在无主键的表。 | |
7、无日志表存在性检查
失败原因 | 处理建议 |
---|
勾选增量迁移时,当前选择的待同步对象中的表存在无日志表。 | |
8、DDL同步元数据检查
失败原因 | 处理建议 |
---|
DDL同步所需的元数据表未被勾选。 DDL同步所需的元数据表不存在。 DDL同步所需的函数不存在。 DDL同步所需的事件触发器不存在。
| |
鼠标选中文档,精准反馈问题
选中存在疑惑的内容,即可快速反馈问题,我们会跟进处理
知道了