当前位置: 首页 > news >正文

【PostgreSQL】不开启归档模式,是否会影响主从库备份?

PostgreSQL 不开启归档模式(archive_mode = off不会直接影响基于流复制(Streaming Replication)的主从备份,但可能会在特定场景下影响复制的健壮性和恢复能力。以下是详细分析:

1. 流复制的核心机制

  • 流复制的工作原理
    主库将生成的 WAL(Write-Ahead Log)记录通过 TCP 连接实时传输给备库,备库持续重放这些日志以保持数据同步。
    关键点:流复制的数据传输不依赖归档模式,直接通过 WAL 流完成。

  • 不开启归档模式的影响
    只要主从之间的网络稳定,且备库能及时接收并应用 WAL,流复制仍能正常工作。归档模式的开启与否不影响流复制的核心流程


2. 潜在风险场景

尽管流复制不强制要求归档模式,但以下场景可能因未开启归档模式导致问题:

场景 1:主从延迟过高
  • 若备库因故障或高负载长时间落后于主库,主库可能会删除尚未传输的旧 WAL 文件(由 wal_keep_size 参数控制保留量)。
  • 未开启归档模式:主库不会保留这些 WAL 文件,备库可能因无法获取缺失的 WAL 而中断复制。
  • 解决方案
    增大 wal_keep_size 或启用归档模式,确保备库能从归档目录中获取历史 WAL。
场景 2:备库重建
  • 若需重新搭建备库(例如主库数据损坏),通常需要基于基础备份(pg_basebackup)和归档的 WAL 文件恢复。
  • 未开启归档模式:缺少历史 WAL 文件,可能无法完成备库重建。

扩展阅读:PostgreSql 主从数据库备份原理


3. 归档模式的作用

  • 核心功能:将 WAL 文件持久化到外部存储(如另一台服务器、云存储),用于:
    1. 时间点恢复(PITR):恢复到特定时间点的数据状态。
    2. 增强复制健壮性:为流复制提供 WAL 文件的备份来源。
    3. 长期数据保护:防止 WAL 文件被主库自动删除。

扩展阅读:PostgreSql 归档模式详解:配置、管理与清理


4. 结论与建议

  • 主从备份是否受影响
    • 流复制:不受直接影响,可正常运行。
    • 归档复制(Log-Shipping):必须开启归档模式。
  • 建议配置
    • 若仅依赖流复制,可不开启归档模式,但需合理设置 wal_keep_size
    • 若需要高可用性、灾备恢复或备库重建能力,强烈建议开启归档模式
    • 使用工具(如 pgBackRestWAL-G)同时管理归档和备份,提升数据安全性。

配置示例

# postgresql.conf
wal_level = replica             # 启用足够的 WAL 日志
max_wal_senders = 5             # 允许流复制连接
archive_mode = on               # 开启归档模式(可选但建议)
archive_command = 'cp %p /path/to/archive/%f'  # 归档命令(如启用归档模式)
wal_keep_size = 1GB             # 保留最近的 WAL 文件量(防止备库延迟)

相关文章:

  • 从零打造企业级Android木马:数据窃取与远程控制实战
  • leetcode0310. 最小高度树-medium
  • JAVA包装类
  • 在linux系统中,没有网络如何生成流量以使得wireshark能捕获到流量
  • 复合机器人案例启示:富唯智能如何以模块化创新引领工业自动化新标杆
  • kafka学习笔记(四、生产者、消费者(客户端)深入研究(三)——事务详解及代码实例)
  • Microsoft Azure DevOps针对Angular项目创建build版本的yaml
  • 编译型语言 vs 解释性语言 vs 编译解释语言
  • Missashe考研日记-day36(改版说明)
  • 昂瑞微高性能低功耗2.4G蓝牙芯片HS6621C支持BLE5.1协议主从一体支持语音采样苹果MFI认证寻物标签语音遥控
  • 如何通过C# 获取Excel单元格的数据类型
  • 【C++设计模式之Observer观察者模式】
  • Navicat BI 数据分析功能上线 | 数据洞察新方法
  • (leetcode) 力扣100 9.找到字符串中所有字母异位词(滑动窗口)
  • JAVA实战开源项目:健身房管理系统 (Vue+SpringBoot) 附源码
  • 常见标签语言的对比
  • rabbitmq学习笔记快速使用
  • 商业 |阿里云又丢出了核弹
  • Android SDK
  • JVM、JRE、JDK的区别
  • 欧洲理事会前主席米歇尔受聘中欧国际工商学院特聘教授,上海市市长龚正会见
  • 中铁房地产24.7亿元竞得上海松江新城宅地,溢价率20.42%
  • 壹基金发布2024年度报告,公益项目惠及937万人次
  • 王日春已任教育部社会科学司司长,此前系人教社总编辑
  • 探索人类的心灵这件事,永远也不会过时
  • 从黄土高原到黄浦江畔,澄城樱桃品牌推介会明日在上海举办