postgresql - pg_restore 不起作用 - 输入文件似乎不是有效的存档

标签 postgresql psql restore dump pg-restore

我正在使用 - 进行 pg_dump

pg_dump -U <username> -h <host> <database> > backup.sql

pg_dump 工作正常。 我正在尝试执行 pg_restore 操作 -

pg_restore -U <username> -h <host> -d <databse> backup.sql

然后显示pg_restore:错误:输入文件似乎不是有效的存档

我检查了很多 StackOverflow 的答案,但我什么也没弄清楚。请帮我。提前致谢。

更新:根据评论,我们不能对 .sql 文件使用 pg_restore。实际上我有一个限制,我必须使用 pg_restore 命令恢复数据库。您能否提供 pg_dump 命令,我可以使用 pg_restore 来恢复该命令?

最佳答案

您创建了一个纯格式转储,它是一个 SQL 文件。您必须使用 psql 恢复纯格式转储:

psql -U <username> -h <host> -d <databse> -f backup.sql

pg_restore 用于恢复所有其他格式的转储。您可以通过将适当的 -F 选项与 pg_dump 一起使用来获取其他格式的转储:例如,-F c 生成自定义格式转储。

如果您想使用 psql 以外的客户端恢复纯格式转储,则必须使用选项 --inserts 创建它。

关于postgresql - pg_restore 不起作用 - 输入文件似乎不是有效的存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74390203/

相关文章:

json - 将格式化的 json 加载到 postgreSQL 表

postgresql - 如何使用 psql 处理大型结果集?

sql-server - RESTORE 过程是否依赖于架构?

node.js - 获取数据库插入错误

postgresql - 为什么我不能在 Postgresql 中使用数字或日期类型输入 NULL 值?

postgresql - Postgres,排序

postgresql - 比较两列并回显重复项

python - ipython : Notebook does not appear to be JSON

android - 压缩手机上的文件并将其上传到服务器?

git - 致命文件系统错误后如何恢复 Git?