pg_restore报错:输入文件非有效归档,求适配的pg_dump命令
解决pg_restore报错“input file does not appear to be a valid archive”的对应pg_dump命令
你之前使用的pg_dump -U <username> -h <host> <database> > backup.sql导出的是纯SQL文本格式备份,这种格式只能通过psql执行恢复,而pg_restore仅支持恢复pg_dump生成的归档格式备份(自定义格式、tar格式、目录格式)。以下是适配pg_restore的pg_dump命令:
常用归档格式备份命令
自定义格式(推荐,高压缩率+灵活恢复):
pg_dump -U <username> -h <host> -Fc <database> > backup.dump对应的恢复命令:
pg_restore -U <username> -h <host> -d <database> backup.dumptar格式:
pg_dump -U <username> -h <host> -Ft <database> > backup.tar对应的恢复命令:
pg_restore -U <username> -h <host> -d <database> backup.tar目录格式(适合大数据库,支持并行备份/恢复):
pg_dump -U <username> -h <host> -Fd -j 4 <database> -f backup_dir其中
-j 4指定4个并行进程(可根据服务器性能调整),恢复时也可启用并行:pg_restore -U <username> -h <host> -d <database> -j 4 backup_dir
注意事项
- 替换命令中的
<username>、<host>、<database>为实际的用户名、主机地址和目标数据库名 - 不同格式的备份文件建议用对应后缀区分(如
.dump对应自定义格式,.tar对应tar格式,目录格式直接用文件夹)
内容的提问来源于stack exchange,提问作者Arghya Roy
相关产品推荐
相关产品推荐

