簡體   English   中英

當有警告時,pg_restore的退出代碼出現問題

[英]issue with pg_restore s exit code when warnings are there

命令:

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 

步驟如下:

  1. 將新表添加到DB並進行轉儲

  2. 刪除新添加的表

  3. 嘗試使用轉儲文件還原

  4. 使用代碼1恢復退出但仍然可以成功恢復表。

pg_restore中的錯誤:
pg_restore:[archiver(db)]無法執行查詢:err-1:表“test1”不存在
命令是:DROP TABLE public.test1;
警告:恢復時忽略錯誤:2

這是帶有表添加/刪除步驟的轉儲/恢復功能的預期行為嗎?

如果目標數據庫的表只與轉儲中的表部分重疊,那么使用pg_restore可能會pg_restore感到痛苦。

使用--clean標志只能部分解決問題,但您可能仍會遇到不存在的表的錯誤。

在我看來,最好的方法是刪除目標數據庫(或刪除級聯目標模式)並繼續執行還原。

你可能想看一個類似的問題: pg_restore會覆蓋現有的表嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM