重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 287|回复: 0
打印 上一主题 下一主题

pg_basebackup 备份归档日志和WAL日志吗

[复制链接]
跳转到指定楼层
楼主
发表于 2025-9-5 16:49:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 郑全 于 2025-9-5 16:51 编辑



pg_basebackup 本身主要用于备份 PostgreSQL 集群的数据文件(基础备份),但对 归档日志 和 WAL 日志 的处理需要结合具体参数配置,并非默认全部备份:
1. 关于 WAL 日志(在线 WAL) pg_basebackup 可以通过 -X(--wal-method)选项控制是否同步备份期间产生的 WAL 日志:

  • -X fetch:备份结束时,会将备份过程中生成的 WAL 日志文件(从备份开始到结束期间)一并复制到备份目录的 pg_wal(或 pg_xlog,旧版本)子目录中。
  • -X stream:备份过程中实时流式接收 WAL 日志,并写入备份目录的 pg_wal 子目录,确保备份与 WAL 日志的连续性。
  • 默认(不指定 -X):不备份备份期间产生的 WAL 日志,仅生成基础数据文件的备份。

   这些通过 -X 选项获取的 WAL 日志是 备份期间实时产生的在线 WAL,用于保证基础备份的一致性,使备份可以作为时间点恢复(PITR)的起点。
2. 关于归档日志(已归档的 WAL) pg_basebackup  不会主动备份已经归档的 WAL 日志(即已经被移到归档目录的 WAL 文件)。原因是:

  • 归档日志通常由数据库通过 archive_command 自动归档到独立位置(如远程存储、磁带等),不属于集群数据目录的一部分。
  • pg_basebackup 仅备份数据库数据目录内的文件,而归档目录通常在数据目录之外,因此不会被包含在基础备份中。

如果需要完整的恢复能力,需手动将  基础备份 +  备份期间的 WAL 日志(通过 -X 获取) +  后续的归档日志 结合使用。
总结
  • pg_basebackup 可通过 -X 选项备份 备份期间产生的在线 WAL 日志,但不会备份  已归档的 WAL 日志。
  • 若要实现时间点恢复(PITR),需额外保留基础备份之后的归档日志,并在恢复时配置 recovery.conf(PostgreSQL 12 前)或 postgresql.conf 中的恢复参数指定 WAL 源

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-18 00:16 , Processed in 0.187279 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表