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

 找回密码
 注册

QQ登录

只需一步,快速开始

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

PostgreSQL 16 + pgBackRest备份部署文档

[复制链接]
跳转到指定楼层
楼主
发表于 5 天前 | 只看该作者 回帖奖励 |正序浏览 |阅读模式


PostgreSQL 16 + pgBackRest备份部署文档
1. 环境概述
操作系统: Anolis OS 8.9

网络环境: 纯离线/内网环境

数据库版本: PostgreSQL 16

核心目标: 解决单核 gzip 压缩过慢的问题,开启 8 线程并发及 ZSTD 高效压缩。

预设目录规划:

PG 数据目录:/home/postgres/16/data

备份存放目录:/home/postgres/16/pgbackrest

2. 安装 pgBackRest
由于断网环境,需要离线安装包

Bash
# 批量一键本地安装
dnf localinstall pgbackrest-2.59.0-1PGDG.rhel8.10.x86_64.rpm

3. 核心配置文件设定 (开启多核并发)
创建并编辑 pgBackRest 全局配置文件。该配置定义了备份的存放路径、保留策略、多核处理及压缩算法。

Bash
sudo vi /etc/pgbackrest.conf
写入以下配置内容(注意 zst 没有 d):

Ini, TOML
[global]
# 指定备份存储库路径
repo1-path=/home/postgres/16/pgbackrest

# 备份保留策略:保留最近的 2 份全量备份(防磁盘撑爆)
repo1-retention-full=2

# 日志设置
log-level-console=info
log-level-file=info

# ==========================================
# 🚀 高性能并发与压缩调优区
# ==========================================
# 开启多线程:根据服务器 CPU 核心数进行调整 (此处为 8 线程)
process-max=8
# 使用高效的 zstd 压缩算法 (语法必须为 zst)
compress-type=zst
compress-level=3

# ==========================================
# 数据库实例 (Stanza) 定义
# ==========================================
[regcost]
# 指定 PostgreSQL 16 的真实数据目录路径
pg1-path=/home/postgres/16/data
确保备份目录权限正确:

Bash
sudo chown -R postgres:postgres /home/postgres/16/pgbackrest
4. PostgreSQL 归档配置
必须让 PostgreSQL 将产生的 WAL 日志实时推送到 pgBackRest 的仓库中。

切换到 postgres 用户并编辑数据库配置文件:

Bash
su - postgres
vi /home/postgres/16/data/postgresql.conf
确保修改或添加以下两行:


archive_mode = on
archive_command = 'pgbackrest --stanza=regcost archive-push %p'


重新加载数据库配置使其生效:

Bash
psql -c "SELECT pg_reload_conf();"
5. 存储库初始化与连通性测试
在 postgres 用户下依次执行:

步骤 5.1:初始化 Stanza (仅首次部署需执行)

Bash
pgbackrest --stanza=regcost stanza-create
步骤 5.2:健康检查 (最关键的一步)

Bash
pgbackrest --stanza=regcost check
预期结果:日志末尾应输出 completed successfully。

6. 定时备份策略
策略:每周六凌晨 2:00 进行全量备份,周日到周五凌晨 2:00 进行增量备份。

Bash
crontab -e

# 每周六凌晨 2:00 执行全量备份,不产生定时任务日志
0 2 * * 6 /usr/bin/pgbackrest --stanza=regcost --type=full backup > /dev/null 2>&1

# 每周日到周五凌晨 2:00 执行增量备份,不产生定时任务日志
0 2 * * 0-5 /usr/bin/pgbackrest --stanza=regcost --type=incr backup > /dev/null 2>&1

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-21 06:46 , Processed in 0.328068 second(s), 21 queries .

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

© 2001-2020

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