数据库备份(Navicat 备份与还原 PostgreSQL 数据库)

数据库备份(Navicat 备份与还原 PostgreSQL 数据库)
Navicat 备份与还原 PostgreSQL 数据库

在一个MES项目上用到了PostgreSQL数据库,由于以前没有操作过,

于是咨询了一下豆包该如何备份还原,以下是豆包老师给讲解的。

提问:

讲解下使用Navicat备份PG数据库,还原数据库的操作步骤

回答:

Navicat 对 PostgreSQL 提供Navicat 专属备份(.nb3 格式)和SQL 文件导出 / 导入(通用格式)两种核心方式,以下是详细步骤。

一、前提准备

①打开 Navicat,成功连接到目标 PostgreSQL 服务器与数据库。

②确认当前用户有备份 / 还原权限(需超级用户或对应数据库所有权限)。

③准备好备份文件存储路径(建议非系统盘,空间充足)。

二、方式一:Navicat 专属备份(.nb3 格式)

适合在 Navicat 环境内快速备份还原,保留完整对象信息。

1. 备份步骤

步骤

操作

1

右键目标数据库 → 选择备份新建备份

2

(可选)在常规页签填写备份备注(如 “20260313 全量备份”)

3

对象页签选择备份范围: ✅ 备份整个库:勾选数据库 ✅ 备份部分对象:勾选指定表 / 视图 / 函数等

4

数据库备份(Navicat 备份与还原 PostgreSQL 数据库)

点击开始备份,等待进度完成;备份文件自动生成.nb3 格式

5

(可选)右键备份文件 → 打开文件所在位置,复制备份文件到安全路径


2. 还原步骤

步骤

操作

1

(重要)先在目标服务器创建同名空数据库(还原建议同名,避免路径 / 权限问题)Navicat

2

打开目标数据库的备份面板,右键空白处 → 还原备份

3

选择.nb3 备份文件,点击打开

4

确认还原选项,点击开始还原,等待完成

5

刷新数据库,验证表、数据、函数等对象是否完整恢复

三、方式二:SQL 文件导出 / 导入(通用格式)

跨环境迁移、兼容其他 PostgreSQL 工具的首选方式。

1. 导出(备份)步骤

步骤

操作

1

右键目标数据库 → 选择转储 SQL 文件结构和数据(按需选择仅结构 / 仅数据)

2

配置导出选项: ✅ 保存路径:选择非系统盘,文件名建议含日期(如db_20260313.sql) ✅ 编码:推荐 UTF-8(避免中文乱码) ✅ 勾选:包含创建数据库语句、存储过程 / 函数、触发器等(按需)

3

点击开始,等待导出完成;生成.sql 格式文件


2. 导入(还原)步骤

步骤

操作

1

(可选)创建目标数据库(若导出时未包含创建语句)

2

右键目标数据库 → 选择运行 SQL 文件

3

选择.sql 备份文件,设置编码(与导出一致)

4

点击开始,勾选 “显示执行结果”,等待执行完成

5

刷新数据库,验证数据与对象是否完整导入


四、关键注意事项

1、权限要求:备份 / 还原需 PostgreSQL 用户有超级用户数据库 OWNER 权限,否则可能失败。

2、中文乱码:导出 / 导入时统一编码为UTF-8,避免中文显示异常。

3、大数据库备份:优先选择SQL 文件导出,并启用 “分文件导出”,避免单个文件过大。

4、还原前备份:重要数据还原前,务必先备份当前数据库,防止覆盖丢失。

5、跨版本兼容:确保 Navicat 版本与 PostgreSQL 版本兼容(推荐 Navicat 16/17 适配 PostgreSQL 12-16)。

6、对象依赖:还原时注意表、视图、函数的依赖关系,按正确顺序还原(如先表后视图)。

五、常见问题解决

1、还原失败:检查目标数据库是否为空、权限是否足够、备份文件是否完整。

2、中文乱码:统一编码为 UTF-8,导出时勾选 “使用 UTF-8”,导入时选择对应编码。

3、大文件导入超时:在 Navicat 中延长查询超时时间,或使用 PostgreSQL 命令行psql -f 文件名.sql导入。

需要我补充 Navicat 备份还原 PostgreSQL 的常见错误排查和命令行导入的补充步骤吗?

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有