Restore

恢復 postgres BBDD - 消息“已經存在”

  • November 10, 2020

我從 RDS 做了一個 pg_dump,這個轉儲需要在本地開發環境中恢復

psql -U postgres -d devDDB -f /tmp/prodDDBB.sql

並且有太多錯誤跳轉,例如:

psql:/tmp/prodDDBB.sql:123255: ERROR:  duplicate key value violates unique constraint "operation_keys_pkey"
DETAIL:  Key (id)=(1088) already exists.

psql:/tmp/prodDDBB.sql:226882: ERROR:  relation "brands_vehicles_account_index" already exists

這在恢復操作中是正常的嗎?數據庫已經存在,我想這很正常。

採用

-c
--clean

在輸出用於創建數據庫對象的命令之前,輸出命令以清理(刪除)數據庫對象。(除非還指定了 –if-exists,否則如果目標數據庫中不存在任何對象,restore 可能會生成一些無害的錯誤消息。)

此選項僅對純文字格式有意義。對於歸檔格式,您可以在呼叫 pg_restore 時指定選項。

手冊

以便在還原數據庫之前刪除所有元素。

在您的情況下使用pg_restore相同的參數,具有相同的效果

引用自:https://dba.stackexchange.com/questions/279464