如何通过PostgreSQL中的cmd使用pg_restore命令还原.bak文件?

问题描述

我有一个用pg_dump命令创建的test.bak文件,它具有一个超表,并且我在postgresql中创建了一个新的数据库Performance_Test。

使用以下命令转储数据库

pg_dump -h localhost -U postgres -p 5432 -Fc -f "D:\Database Backup\temp.bak" Performace_Test

我想在Performance_Test中恢复该test.bak文件

我该怎么做?

解决方法

     psql Performance_Test < test.bak
,

您可以恢复执行以下操作(注意事项进一步说明):

pg_restore -h localhost -d Performace_Test -U postgres -p 5432 "D:\Database Backup\temp.bak"

警告是:

  1. 如果通过引用将Performace_Test创建为大小写混合形式,则需要引用上述名称,例如“性能测试”

  2. 如果Performace_Test不为空,则会出现一堆错误。

  3. 还假设Performace_Test与pg_dump命令中指定的群集位于同一群集上。