使用pg_restore工具还原数据库转储时返回“pg_restore: error: input file does not appear to be a valid archive”。

3

我正在使用Windows 10操作系统上的PowerShell和pgAdmin 4v6进行工作,而用户没有管理员权限。

当我使用类似于以下命令创建转储时:

pg_dump -h localhost -p 8083 -d database-name -U user --password --clean -Fc --no-acl --no-owner > backup_name.dump

我尝试使用这个命令来进行还原:

pg_restore -h localhost -p 5432 -U postgres -d posgres-v  backup_name.dump

我收到了这条消息:

pg_restore: error: input file does not appear to be a valid archive

我看到了“-Fc”,但请使用“head backup_name.dump”检查是否不是二进制文件,尝试“cat backup_name.dump | psql -h localhost -p 5432 -U postgres -d posgres-v”,或尝试在pg_restore中添加“--verbose --format=c”并上传输出。 - Frank N Stein
或者尝试 文件备份名称.dump - Laurenz Albe
4
在 Windows 上使用 pg_dump 时,请勿使用重定向符号 >,而应该使用选项 -f backup_name.dump 来指定备份文件名。这样做可以确保备份文件正确生成并保存。 - user330315
@a_horse_with_no_name 您先生,您是我的救星。谢谢您。能否详细解释一下为什么在这种情况下不应该在Windows上使用>运算符? - aradalvand
1个回答

1

看起来问题出在转储文件上,我创建了一个新的转储文件,可以顺利恢复。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接