Navicat 备份与还原 PostgreSQL 数据库

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

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

提问:

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

回答:

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

一、前提准备

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

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

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

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

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

1. 备份步骤

步骤 操作
1 右键目标数据库 → 选择备份 → 新建备份
2 (可选)在常规页签填写备份备注(如 "20260313 全量备份")
3 在对象页签选择备份范围: ✅ 备份整个库:勾选数据库 ✅ 备份部分对象:勾选指定表 / 视图 / 函数等
4 点击开始备份,等待进度完成;备份文件自动生成.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导入。

相关推荐
geovindu8 小时前
sql: JSON and XML Data Handling in SQL using sql server 2025
大数据·数据库·sqlserver·数据库开发·数据库架构
IT大白鼠8 小时前
图数据库系列 · 第 02 篇——架构拆解:原生图存储到因果集群
数据库·架构·nosql
EatFan9 小时前
从“框架混战“到“运行时收敛“:2026 年 AI Agent 开发框架的三条路线之争
java·数据库·人工智能·多智能体·ai agent·mcp·agent 框架
小蒜学长9 小时前
基于SpringBoot的佳新超市管理系统设计与实现系统(代码+数据库+LW)
java·数据库·spring boot·后端·佳新超市管理系统
jinyishu_10 小时前
向量数据库入门:记录结构、索引、检索与选型
数据库
写后端的胖头鱼13 小时前
【高频面试题】FullText 全文索引(MySQL)
数据库·mysql·索引·全文索引
路远的数据库笔记14 小时前
SQL Server迁移国产数据库怎么做?九套口岸库零停机割接实战
数据库·经验分享·sqlserver·dba
樱花落木兰14 小时前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
kaiyou202614 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习
mjhcsp14 小时前
DeepSeek V4.1 Flash 批量处理效能实测
java·前端·数据库