背景:需要对备份数据库进行还原
环境: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.恢复完成
之后,这一系列操作,会脚本化。