DBeaver + PostgreSQL 中的 Global Backup 和 Backup 的区别?

DBeaver + PostgreSQL 中的 Global Backup 和 Backup 的区别?

这是一个在 DBeaver 中使用 PostgreSQL 时非常常见的问题。简单来说,两者的备份目标范围完全不同

下面我们来详细解释一下 "Backup" 和 "Global Backup" 的区别。


1. Backup(数据库备份)

这个功能在 DBeaver 中的正确叫法是 "数据库备份""单个数据库备份"

  • 备份目标单个数据库

  • 操作位置 :在 DBeaver 的数据库导航器中,你需要展开一个具体的 PostgreSQL 服务器连接 ,然后右键点击某一个具体的数据库,在菜单中找到 "工具" -> "Backup"。

  • 底层工具 :它调用的是 PostgreSQL 官方的 pg_dump 工具。

  • 生成的备份文件 :这个备份文件(通常是 .sql 或自定义格式 .backup只包含你所选择的那个数据库里的所有对象(表、视图、函数、数据等)。

  • 主要用途

    • 备份和恢复单个重要的业务数据库。
    • 在开发、测试和生产环境之间迁移单个数据库。
    • 在对数据库进行重大变更(如版本更新、架构修改)前,为单个数据库创建快照。

总结:Backup 是针对特定数据库的精细操作。


2. Global Backup(全局备份)

这个功能在 DBeaver 中的正确叫法是 "全局备份"

  • 备份目标整个 PostgreSQL 数据库集群

  • 操作位置 :在 DBeaver 的数据库导航器中,你需要右键点击整个 PostgreSQL 服务器连接(根节点),在菜单中找到 "工具" -> "Global Backup"。

  • 底层工具 :它调用的是 PostgreSQL 官方的 pg_dumpall 工具。

  • 生成的备份文件 :这个备份文件(通常是 .sql 文件)包含整个数据库集群中的所有信息,主要包括:

    1. 集群级别的对象:用户、角色、权限、表空间等。这些信息不属于任何一个单一数据库。
    2. 所有数据库 :它会依次备份集群中的每一个数据库 ,相当于为每个数据库执行一次 pg_dump,并将所有内容整合到一个文件中。
  • 主要用途

    • 灾难恢复:当需要重建整个 PostgreSQL 实例(例如,服务器硬盘损坏、迁移整个数据库服务)时,这是最完整的方式。
    • 备份和恢复用户与权限结构。
    • 克隆整个数据库环境。

总结:Global Backup 是针对整个数据库实例的宏观操作。


核心区别对比表格

特性 Backup(数据库备份) Global Backup(全局备份)
备份范围 单个数据库 整个数据库集群(所有数据库 + 集群对象)
DBeaver 中的操作对象 右键点击具体的数据库 右键点击数据库服务器连接根节点
使用的 PostgreSQL 工具 pg_dump pg_dumpall
备份内容 指定数据库的表、数据、视图、函数等 所有角色/用户、权限、表空间 + 所有数据库
典型用途 备份/迁移单个应用数据库 全实例灾难恢复、迁移整个数据库服务

如何选择?

  • 你只想备份某个网站或应用的数据库(比如 my_app_db)?

    • => 使用 Backup
  • 你想备份所有用户账号和他们的权限?

    • => 使用 Global Backup
  • 你需要将整个 PostgreSQL 服务从服务器A完整地迁移到服务器B?

    • => 使用 Global Backup
  • 你只是每天对重要的业务数据库做例行备份?

    • => 使用 Backup
  • 你不确定,想做个最全面的备份?

    • => 使用 Global Backup,但要明白它的文件更大,耗时更长。

一个形象的比喻

  • Backup 就像给你电脑里的 某一个重要文件夹(例如"我的项目")做备份。
  • Global Backup 就像给你电脑的 整个C盘做系统镜像,包括操作系统、所有程序、设置和所有用户文件。
相关推荐
剩下了什么4 小时前
MySQL JSON_SET() 函数
数据库·mysql·json
山峰哥5 小时前
数据库工程与SQL调优——从索引策略到查询优化的深度实践
数据库·sql·性能优化·编辑器
较劲男子汉5 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
java搬砖工-苤-初心不变5 小时前
MySQL 主从复制配置完全指南:从原理到实践
数据库·mysql
山岚的运维笔记7 小时前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
roman_日积跬步-终至千里8 小时前
【LangGraph4j】LangGraph4j 核心概念与图编排原理
java·服务器·数据库
汇智信科8 小时前
打破信息孤岛,重构企业效率:汇智信科企业信息系统一体化运营平台
数据库·重构
野犬寒鸦8 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
晚霞的不甘9 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
市场部需要一个软件开发岗位9 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全