You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GPG解密Postgres备份.gpg文件后提取.dump文件报错问题求助

Postgres GPG备份解密后无法提取dump文件解决

问题根因

gunzip默认仅识别带.gz/.gzip标准gzip后缀的文件,解密生成的db_backup虽实际为gzip格式,但无对应后缀,因此触发unknown suffix报错;手动输入带后缀的文件名时,因实际文件未重命名,就会触发文件不存在报错。

解决方法

  • 重命名后解压
    先给文件补上标准gzip后缀再执行解压:

    mv /home/jimmythecode/Downloads/db_backup /home/jimmythecode/Downloads/db_backup.gz
    gunzip /home/jimmythecode/Downloads/db_backup.gz
    

    解压完成后同目录生成的db_backup文件就是原始的pg备份文件,直接重命名为pg_backup.dump即可用于恢复。

  • 不改后缀直接解压
    不想修改原文件名的话,可通过参数让gzip直接读取无后缀的压缩文件,输出为指定的dump文件:

    gzip -dc /home/jimmythecode/Downloads/db_backup > /home/jimmythecode/Downloads/pg_backup.dump
    

    其中-d表示执行解压操作,-c表示将解压内容输出到标准流,通过重定向直接写入目标文件,全程不需要修改原压缩文件名。

  • 解密解压一步完成(推荐后续操作使用)
    后续处理同类加密备份时,可直接通过管道将gpg解密输出流转给gzip解压,一步生成最终dump文件,不需要生成中间压缩文件:

    gpg --decrypt /home/jimmythecode/Downloads/heroku-backup-2022-05-05_07.00.gpg | gzip -dc > /home/jimmythecode/Downloads/pg_backup.dump
    

验证方法

解压完成后执行以下命令校验文件有效性:

file pg_backup.dump

返回结果包含PostgreSQL custom archive相关提示时,说明备份文件正常,可直接使用pg_restore执行恢复操作。

内容的提问来源于stack exchange,提问作者JimmyTheCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 21:15:41