恢复数据库时找不到排序规则

目录
环境
症状
问题原因
解决方案

环境
系统平台:Microsoft Windows (64-bit) 10,Linux x86-64 Red Hat Enterprise Linux 7
版本:4.7.7,5.6.5
症状
由Linux系统安装的标准版V4.7.7升级为windows环境企业版V5.6.5,使用navicat管理工具进行备份恢复时,本地报找不到排序规则的错误,导致恢复失败。

问题原因
因linux系统版本的数据库中自带的排序规则很多,而windows环境下自带的排序规则如下:

在这里插入图片描述

因为在创建表时,linux版本的数据库会默认引用排序规则如下:

CREATE

 TABLE "public"."table_name" (

  "code" varchar(10) COLLATE "pg_catalog"."aa_DJ.utf8" DEFAULT NULL,

  "name" varchar(10) COLLATE "pg_catalog"."default" DEFAULT NULL

);

进行恢复时,报错如下:

在这里插入图片描述

解决方案
解决方案一:

从linux环境的数据库,升级为linux环境的数据库,不会出现此报错。(最佳选择)

解决方案二:

将备份导出为insert语句的格式,然后恢复到数据库中,此方案耗费时间较长,效率低,请慎重考虑哦。

备份:pg_dump -h localhost -U sysdba(用户名) -p 5866(端口) -d highgo(数据库名) -n test1(模式名) --inserts -f /opt/ds20210114.sql

恢复:pg_dump -h -U user_map -p 5866 -d wsrc -n public -E UTF8–insert -f D:\ds20210114.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值