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

pg_dump -Fc生成的PostgreSQL备份文件无法解压,求格式及解决方法

PostgreSQL自定义格式备份的正确处理方法

你用pg_dump -Fc生成的是PostgreSQL自定义归档格式备份文件,这不是普通的gzip或tar压缩包,所以常规解压命令(gzip -d、tar)完全不适用,这就是所有尝试失败的原因。

格式说明

-Fc是PostgreSQL pg_dump工具的专属参数,指定生成的备份文件采用PostgreSQL自定义格式:

  • 该格式本身已内置压缩,无需额外用gzip等工具二次压缩
  • 支持增量恢复、选择性恢复单个表/对象等高级操作
  • 只能用PostgreSQL自带的pg_restore工具处理,无法用通用解压工具打开

正确操作方法

1. 恢复备份到数据库

如果要将备份恢复到目标数据库,结合Docker执行pg_restore命令:

# 若目标数据库未创建,先执行创建命令
docker exec my-container createdb -U postgres target-database
# 执行恢复操作
docker exec -i my-container pg_restore -U postgres -d target-database < my-db.gzip

替换target-database为你要恢复到的数据库名称。

2. 查看备份内容(无需恢复)

如果只是想查看备份包含的表、函数等对象,用pg_restore的-l参数列出内容:

docker exec -i my-container pg_restore -U postgres -l < my-db.gzip

额外提示

你给备份文件命名为.gzip容易造成误解,建议后续生成这类备份时使用.dump或.sqlc后缀,比如:

docker exec my-container pg_dump my-database -Fc -U postgres > my-db.dump

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 23:42:13