、 和 都是 PostgreSQL 官方提供的备份工具,但它们在备份原理(逻辑 vs 物理)、备份范围(单库 vs 全局)以及使用场景上有着本质的区别。 以下是这三种工具的详细区别和对比: --- 1. pgdump(单库逻辑备份) 原理:逻辑备份。它通过执行 SQL 查询来提取数据,并生成可以重建数据库的 SQL 脚本或自定义格式的归档文件。 备份范围:单个数据库。它只能备份连接时指定的那个数据库。 是否包含全局对象:否。它不会备份角色(用户)、密码、表空间等全局对象,因为这些属于整个数据库集群(Instance),而不是单个数据库。 输出格式:支持纯文本(SQL 脚本)、自定义格式(,支持压缩和部分恢复)、目录格式和 Tar 格式。 核心优势: 可以跨平台、跨操作系统、跨 PostgreSQL 大版本恢复。 极其灵活,支持只备份特定的表()、排除特定的表()、只备份表结构()或只备份数据()。 适用场景:日常备份单个业务数据库、将数据迁移到另一个数据库或新版本、只需要部分表的数据时。 2. pgdumpall(全集群逻辑备份) 原理:逻辑备份。它实际上是 的一个包装器。它会先...