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

如何在PostgreSQL中恢复.sql格式的pg_dump备份文件

解决PostgreSQL文本备份恢复问题

问题回顾

使用pgAdmin恢复.sql格式备份时出现错误:

pg_restore: error: input file appears to be a text format dump. Please use psql.

改用psql执行如下命令后,仅显示用户信息,无报错但未完成数据库恢复:

psql grana < c:\dump-grana.sql

使用psql -U [user] -d [dbname] -1 -f <filename>.sql命令得到相同结果。

解决方案步骤

1. 确认目标数据库已存在

首先登录psql命令行,查看是否存在目标数据库grana:

psql -U postgres

进入psql后执行:

\l

如果列表中没有grana,先创建数据库:

CREATE DATABASE grana;
\q

2. 使用完整权限用户执行恢复命令

确保使用拥有数据库创建/写入权限的用户(如默认超级用户postgres)执行恢复,避免权限不足导致的静默失败:

psql -U postgres -d grana -f c:\dump-grana.sql

如果备份文件路径包含空格,需用引号包裹路径:

psql -U postgres -d grana -f "c:\my dumps\dump-grana.sql"

3. 启用错误提示排查问题

添加-v ON_ERROR_STOP=1参数,让psql遇到错误立即停止并输出详情,方便定位问题:

psql -U postgres -d grana -v ON_ERROR_STOP=1 -f c:\dump-grana.sql

4. 检查备份文件完整性

直接打开dump-grana.sql文件,查看内容是否包含完整的数据库对象(如CREATE TABLE、INSERT语句)。如果文件仅包含用户/角色相关语句,说明备份时仅导出了用户信息,而非完整数据库,需要重新生成完整备份。

内容的提问来源于stack exchange,提问作者João Ignácio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 11:52:09