C++解决postgresql数据库还原问题

在VS2017+Qt5.13.2+psql13.2环境下,通过psql命令尝试还原数据库失败。经过检查,确认备份文件无误,问题在于同名数据库无法直接导入。解决方案是先删除现有数据库,再新建同名空数据库,然后成功执行还原指令。该过程将被脚本化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:需要对备份数据库进行还原
环境:VS2017+Qt5.13.2+psql13.2

开始时,直接用psql语句,导入数据库。
执行命令后,发现数据库没有导入成功。

于是,检查备份的db文件,看看是否有某条数据。
之后,发现备份的数据没有问题。

于是,错误定位到还原的指令。
psql -h localhost -U postgres -d DB_3D < D:\3D\Backup\DB_3D_2022-08-18_1507.db
发现,指令也没问题。

于是,判断是否同名数据库,但是又不能替换当前的数据库。
便做了一个测试,发现确实不能这样导入。

于是删除了数据库DB_3D,然后又重新创建了一个DB_3D,这是一个空的数据库,执行上一条还原指令,最后查数据库,成功还原。
具体操作如下:
1.打开pgAdmin4.exe,手动删除DB_3D数据库
2.创建数据库DB_3D createdb -U postgres DB_3D
3.还原 psql -h localhost -U postgres -d DB_3D < D:\3D\Backup\DB_3D_2022-08-18_1507.db
4.恢复完成

之后,这一系列操作,会脚本化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值