恢复postgres数据库时会出现什么错误?

时间:2016-12-07 19:55:34

标签: postgresql backup restore

我正在尝试备份整个postgres数据库并正确还原,但是在尝试还原备份时我看到了一个错误列表。

我正在使用pg_dump来创建备份sql文件。 (我有一个.pgpass文件的密码)

sudo -u postgres pg_dump -d db-w > backup.sql

当我尝试使用以下命令恢复数据库时

sudo -u postgres psql db < backup.sql

我得到一个错误列表,如:

ERROR:  duplicate key value violates unique constraint
ERROR:  multiple primary keys for table
ERROR:  relation <relation> already exists
ERROR:  trigger <trigger> for relation <relation> already exist

我没有对数据库进行任何更改。我只是执行备份并立即恢复备份。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您在现有数据库上进行还原,如果您需要并确保使用备份替换数据库,可以使用选项--clean和--create

  

-c, - 清洁             在重新创建数据库对象之前清理(删除)它们。 (这有可能             如果没有任何对象,则生成一些无害的错误消息             存在于目标数据库中。)

     

-C, - 创建             在还原到数据库之前创建数据库。如果--clean也是             在连接之前指定,删除并重新创建目标数据库             它。