讲师中心 微信公众号
AI工具推荐 视频效率加速

怎样在Navicat for PostgreSQL中还原包含大对象的备份

梦辰同学_7839

梦辰同学_7839

发布时间:2026-09-22 07:50:17

|

149人浏览过

|

来源于php中文网

原创

Navicat for PostgreSQL 无法还原大对象(LOB),因其仅执行标准 DDL/DML,跳过 lo_import() 等函数;仅支持自身启用“包含大对象”选项导出的 .nb3 文件,或改用 psql/pg_restore。

怎样在navicat for postgresql中还原包含大对象的备份

Navicat for PostgreSQL 无法直接还原含大对象(LOB)的 .nb3 备份,除非该备份在创建时已启用「包含大对象」选项;若用 pg_dump -F p 导出的 SQL 文件含 lo_import()lo_export() 调用,Navicat 会执行失败——它不解析或执行这类函数。

为什么还原大对象经常静默失败

Navicat 的「还原」功能本质是按顺序执行 SQL 语句,但它跳过所有非标准 DDL/DML,比如:lo_importlo_createlo_put 等 PostgreSQL 大对象函数。你看到“还原成功”,实际只是建了表、插了普通字段数据,oid 字段可能留空或存了无效值,而真正的大对象文件(如 PDF、图片)根本没写入 pg_largeobject 表。

  • 错误现象:还原后查 SELECT lo_unlink(oid) 报错 “large object xxx does not exist”;或者应用读取大对象时返回空或损坏内容
  • 根本原因:Navicat 不具备大对象二进制流的解析与写入能力,也不调用 libpq 的 LO API
  • 兼容前提:只有 Navicat 自身生成的 .nb3 备份,且勾选了「备份大对象」(位于备份设置 → 高级 → 勾选「Include large objects」),才能在还原时一并恢复

用 pg_dump 导出含大对象时必须加 -b-F p

如果必须用命令行导出再交给 Navicat 导入(例如跨版本或需审计 SQL),不能只靠 pg_dump -F p。缺 -b 参数会导致大对象被忽略,即使表里有 oid 字段,dump 文件里也不会生成 lo_import 调用。

navicatmysql
navicatmysql

Navicat For MySQL

下载
  • pg_dump -U user -h host -p 5432 -F p -b -f backup_with_lo.sql mydb —— ✅ 正确:含 -b 才导出大对象关联逻辑
  • pg_dump -F p -f backup.sql mydb —— ❌ 错误:即使表含 oid,大对象内容不会出现在 SQL 中
  • 注意:-b 仅对使用 oid 类型或 lo 模块显式管理的表生效;若用 bytea 存小文件,则无需 -b,Navicat 可正常导入

Navicat 还原前必须手动检查 SQL 文件是否含大对象操作

打开你准备用于「运行SQL文件」的 .sql,搜索关键词判断是否真含大对象逻辑:

  • lo_importlo_create:有则说明导出时用了 -b,但 Navicat 会跳过这些行 → 还原后大对象丢失
  • INSERT INTO pg_largeobject:极罕见,通常是手工拼的 dump,Navicat 同样不认
  • bytea 字段的 INSERT:这种可被 Navicat 正常执行,无需额外处理
  • 结论:只要 SQL 文件里出现任何 lo_* 函数,就别指望 Navicat 能还原大对象——得换方案

真正可行的替代路径只有两条

要么退回命令行用 psql,要么改用 pg_restore(针对 -F c-F d 格式)。Navicat 在这个环节就是个纯 SQL 执行器,没底层 LO 支持。

  • ✅ 推荐路径:用 psql -U user -d mydb -f backup_with_lo.sql —— 它能识别并执行 lo_import,前提是数据库已启用 lo 扩展(CREATE EXTENSION IF NOT EXISTS lo;
  • ✅ 备选路径:用 pg_dump -F c -b 导出,再用 pg_restore -U user -d mydb backup.custom 恢复 —— 快、原子、支持并行,但 Navicat 完全不参与
  • ⚠️ 注意:Navicat 的「数据传输」功能也不能迁移大对象,它只传字段值,不触碰 pg_largeobject

大对象不是“多几个字节”的问题,它是独立于表存储的二进制块,依赖服务端 LO API 绑定。Navicat 图形界面的设计从没考虑这一层,所以别在它的「还原」按钮上浪费时间验证可行性。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
postgresql常用命令
postgresql常用命令

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、l、c、dt、d table_name、du、i file_name、e和q等。本专题为大家提供postgresql相关的文章、下载、课程内容,供大家免费下载体验。

193

2023.10.10

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4009

2023.11.02

postgresql常用命令有哪些
postgresql常用命令有哪些

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、l、c、dt、d table_name、du、i file_name、e和q等。更详细的postgresql常用命令,大家可以访问下面的文章。

607

2023.11.16

postgresql常用命令介绍
postgresql常用命令介绍

postgresql常用命令有l、d、d5、di、ds、dv、df、dn、db、dg、dp、c、pset、show search_path、ALTER TABLE、INSERT INTO、UPDATE、DELETE FROM、SELECT等。想了解更多postgresql的相关内容,可以阅读本专题下面的文章。

1336

2023.11.20

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

420

2026.02.12

PostgreSQL 性能优化与查询执行计划实战
PostgreSQL 性能优化与查询执行计划实战

本专题深入解析PostgreSQL性能优化核心,聚焦查询执行计划的实战应用。通过EXPLAIN命令精准定位瓶颈,结合索引策略、SQL改写与参数调优,系统提升查询效率。从执行计划解读到性能调优全流程,助你掌握数据库性能诊断与优化实战能力。

130

2026.05.08

PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践
PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践

本文详解如何利用Next.js(搭配Drizzle ORM)与Go后端构建高性能应用,充分发挥PG在JSONB非结构化存储与pgvector向量检索上的优势。从数据建模到Docker容器化部署,打造支持AI时代的“One Database”工程化解决方案。

861

2026.05.08

PostgreSQL高级特性、内核机制与现代数据架构
PostgreSQL高级特性、内核机制与现代数据架构

本专题从MVCC并发控制与WAL日志等内核机制出发,详解JSONB、PostGIS及pgvector等高级特性。探讨如何利用单一引擎支撑关系型、向量及图数据等现代数据架构需求,助您掌握构建高并发、智能化应用的核心技术。

224

2026.05.08

Conan私有仓库搭建教程
Conan私有仓库搭建教程

本专题系统的讲解Conan私有仓库的搭建流程,涵盖仓库服务部署、存储目录配置、用户认证、权限划分和远程地址添加,并介绍内部C++依赖包的上传、下载及版本维护方法。

0

2026.09.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn