我正在使用 - 进行 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/