如何在PostgreSQL中通过cmd使用pg_restore命令还原.bak文件?
我用pg_dump命令创建了一个test.bak文件,该文件有一个超表,我在postgreSQL中创建了一个新的数据库性能测试 已使用以下命令转储数据库:如何在PostgreSQL中通过cmd使用pg_restore命令还原.bak文件?,postgresql,timescaledb,pg-restore,Postgresql,Timescaledb,Pg Restore,我用pg_dump命令创建了一个test.bak文件,该文件有一个超表,我在postgreSQL中创建了一个新的数据库性能测试 已使用以下命令转储数据库: pg_dump-h localhost-U postgres-p 5432-Fc-f“D:\Database Backup\temp.bak”性能测试 我想在性能测试中恢复test.bak文件 我该怎么做?psql性能测试
pg_dump-h localhost-U postgres-p 5432-Fc-f“D:\Database Backup\temp.bak”性能测试
我想在性能测试中恢复test.bak文件
我该怎么做?psql性能测试 psql Performance_Test < test.bak
psql性能测试
您可以通过执行以下操作恢复(并进一步说明注意事项):
警告是:
pg_dump
命令中指定的集群位于同一集群上
您可以执行以下操作恢复(并在后面进一步说明注意事项): 警告是:
pg_dump
命令中指定的集群位于同一集群上
这取决于
test.bak
是如何创建的。那么您使用的命令是什么呢?我已经用命令创建了test.bak文件:pg_dump-h localhost-U postgres-p 5432-Fc-f“D:\Database Backup\temp.bak”Performace_test。@Akanksha:您应该在问题中添加这个细节,Timescale提供了如何恢复备份的说明:这取决于test.bak
是如何创建的。那么您使用的命令是什么呢?我已经用命令创建了test.bak文件:pg_dump-h localhost-U postgres-p 5432-Fc-f“D:\Database Backup\temp.bak”Performace_test。@Akanksha:您应该在问题中添加这个细节,而不是注释。Timescale提供了如何恢复备份的说明:这将无法工作,因为转储文件是自定义格式的,需要pg\u restore
。这将无法工作,因为转储文件是自定义格式的,需要pg\u restore
。这给了我一个错误:pg\u restore:错误:输入文件似乎不是有效的存档。然后不是使用您发出的pg_dump
命令创建temp.bak
文件,就是该文件已损坏。你能打开这个文件看看它是不是纯文本转储吗?我又想到了一个问题,目录名中的空格可能有问题。尝试将文件从“数据库备份”复制/移动到名称中没有空格的目录。这会导致错误:pg_restore:错误:输入文件似乎不是有效的存档文件。然后,可能是不是使用您发出的pg_dump
命令创建了temp.bak
文件,或者该文件已损坏。你能打开这个文件看看它是不是纯文本转储吗?我又想到了一个问题,目录名中的空格可能有问题。尝试将文件从“数据库备份”复制/移动到名称中没有空格的目录。
pg_restore -h localhost -d Performace_Test -U postgres -p 5432 "D:\Database Backup\temp.bak"