postgresql – 当有警告时,pg_restore的退出代码问题

前端之家收集整理的这篇文章主要介绍了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

步骤如下:

>将新表添加到DB并进行转储
>删除添加的表
>尝试使用转储文件进行恢复
>使用代码1恢复退出但仍然可以成功恢复表.

error in pg_restore:
pg_restore: [archiver (db)] could not execute query: err-1: table “test1” does not exist
Command was: DROP TABLE public.test1;
WARNING: errors ignored on restore: 2

这是带有表添加/删除步骤的转储/恢复功能的预期行为吗?

如果目标数据库的表只与转储中的表部分重叠,那么使用pg_restore可能会让人感到痛苦.

使用–clean标志只能部分解决问题,但您可能仍会遇到不存在的表的错误.

在我看来,最好的方法删除目标数据库(或删除级联目标模式)并继续执行还原.

您可能想要查看类似的问题:will pg_restore overwrite the existing tables?

猜你在找的Postgre SQL相关文章