Ras*_*sna 9 postgresql pg-restore
命令:
bin/pg_dump -b -o -Fc -Z 0 -p 5333 -U user template1 -f db.dump
bin/pg_restore -c -h localhost -p 5333 -U user -d template1 db.dump
Run Code Online (Sandbox Code Playgroud)
步骤如下:
将新表添加到DB并进行转储
删除新添加的表
尝试使用转储文件还原
使用代码1恢复退出但仍然可以成功恢复表.
pg_restore中的错误:
pg_restore:[archiver(db)]无法执行查询:err-1:表"test1"不存在
命令为:DROP TABLE public.test1;
警告:恢复时忽略错误:2
这是带有表添加/删除步骤的转储/恢复功能的预期行为吗?
如果目标数据库的表仅与转储中的表部分重叠,那么使用pg_restore可能会很麻烦。
使用该--clean标志只能部分解决问题,但您仍然可能会遇到不存在表的错误。
在我看来,最好的办法是删除目标数据库(或删除级联目标模式)并进行恢复。
您可能想看看类似的问题:pg_restore 会覆盖现有表吗?
| 归档时间: |
|
| 查看次数: |
935 次 |
| 最近记录: |