我已通过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"
我实际上想用备份替换现有数据库中的数据。该怎么做?
答案 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