4.6. 使用逻辑转储备份和恢复 PostgreSQL 数据


PostgreSQL 数据的逻辑备份由恢复数据所需的 SQL 语句组成。与物理备份相比,逻辑备份的优点在于可以在其他硬件配置和 PostgreSQL 版本上恢复数据。

SQL 转储方法基于使用 SQL 命令生成转储文件。当转储上传回数据库服务器时,它会按与转储时相同的状态重新创建数据库。

以下 PostgreSQL 客户端应用程序确保 SQL 转储:

  • pg_dump 转储单个数据库,而没有集群范围的有关角色或表空间的信息
  • pg_dumpall 转储给定集群中的每个数据库,并保留集群范围的数据,如角色和表空间定义。

默认情况下,pg_dumppg_dumpall 命令将它的们结果写入标准输出。要将转储保存到文件中,请将输出重定向到 SQL 文件。生成的 SQL 文件可以是文本格式,也可以是允许并行且可以更详细地控制对象恢复的其他格式。

您可以在任何可访问数据库的远程主机中执行 SQL 转储。

4.6.1. SQL 转储的优点和缺陷

SQL 转储是包含数据库结构和数据的文本文件,格式为 SQL 语句。

优点:

  • SQL 转储是唯一一个不是特定于服务器版本的 PostgreSQL 备份方法。pg_dump 工具的输出可以重新加载到 PostgreSQL 的后续版本中,这不适用于文件系统级备份或持续归档。
  • SQL 转储是将数据库传输到不同计算机架构(比如从 32 位服务器传输到 64 位服务器)的唯一方法。
  • SQL 转储提供内部一致的转储。转储表示 pg_dump 开始运行时的数据库的快照。
  • pg_dump 工具在运行时不会阻止对数据库的其他操作。

缺点:

  • 与文件系统级别备份相比,SQL 转储需要更长的时间。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部