无法还原Postgresql数据库得到“数据库已存在”错误

时间:2019-01-04 21:06:34

标签: postgresql

我已通过pg_dumpall > test.out进行了备份 并且成功生成了test.out,因此备份已完成。

我已使用命令psql -f test.out postgres进行还原 但是在还原备份时出现以下错误:

databases already exists
relation "products" already exists
duplicate key value violates unique constraint "products_pkey"

我实际上想用备份替换现有数据库中的数据。该怎么做?

2 个答案:

答案 0 :(得分:1)

问题是您要还原的数据库已经存在。

您可以运行DROP DATABASE database_name命令,该命令将删除您现有的数据库,然后您可以运行test.out文件。

或者您可以运行pgdumpall --clean > test.out,然后运行生成的文件。 clean标志将使结果文件中包含DROP DATABASE命令。

答案 1 :(得分:0)

您使用风箱命令吗?

 psql -h localhost -U [login role] database_name -f /home/database.backup