pgBackRest:PostgreSQL S3 备份

本教程介绍如何使用 pgBackRest在新窗口中打开 和 S3 备份 PostgreSQL 数据库。

简介

pgBackRest 是一款现代的 PostgreSQL 备份和还原解决方案,它拥有您可能需要的所有功能

安装

Ubuntu 为 pgbackrest 提供预编译的软件包

sudo apt install pgbackrest

术语

是 PostgreSQL 数据库集群的 pgBackRest 配置。大多数数据库服务器只有一个数据库集群,因此只有一个节。

存储库 是 pgBackRest 存储备份和存档 WAL 段的位置。

配置

让我们为配置和日志创建一个基本目录结构

mkdir -m 770 /var/log/pgbackrest
chown postgres:postgres /var/log/pgbackrest
mkdir /etc/pgbackrest

并将以下配置保存到 /etc/pgbackrest/pgbackrest.conf

[demo]
pg1-path=/var/lib/postgresql/14/main

[global]
repo1-retention-full=3 # keep last 3 backups
repo1-type=s3
repo1-path=/s3-path
repo1-s3-region=us-east-1
repo1-s3-endpoint=s3.amazonaws.com
repo1-s3-bucket=s3_bucket_name
repo1-s3-key=$AWS_ACCESS_KEY
repo1-s3-key-secret=$AWS_SECRET_KEY

# Force a checkpoint to start backup immediately.
start-fast=y
# Use delta restore.
delta=y

# Enable ZSTD compression.
compress-type=zst
compress-level=6

log-level-console=info
log-level-file=debug

对于 时间点恢复在新窗口中打开,您还需要配置 PostgreSQL 将 WAL 文件上传到 S3

archive_mode = on
archive_command = 'pgbackrest --stanza=demo archive-push %p'
archive_timeout = 300

完整备份

完整备份会复制数据库集群中的所有文件。

sudo -u postgres pgbackrest --type=full --stanza=demo backup

差异备份

差异备份仅复制自上次完整备份以来已更改的文件。它比完整备份更小,但要还原它,您需要基础完整备份。

sudo -u postgres pgbackrest --type=diff --stanza=demo backup

增量备份

增量备份仅复制自上次备份(完整、差异或增量)以来已更改的文件。它比完整或差异备份更小,但要还原它,您需要所有依赖备份。

sudo -u postgres pgbackrest --type=incr --stanza=demo backup

备份还原

要从上次备份还原集群

sudo -u postgres pgbackrest --stanza=demo --delta restore

要查看所有可用备份

sudo -u postgres pgbackrest --stanza=demo info

PostgreSQL 监控

监控 PostgreSQL在新窗口中打开,您可以使用 OpenTelemetry PostgreSQL在新窗口中打开 接收器,它随 OpenTelemetry 收集器一起提供。

OpenTelemetry 收集器在新窗口中打开 旨在从多个来源收集、处理和导出遥测数据。它充当一个集中式和灵活的数据管道,简化了分布式系统中遥测数据的管理。

Uptrace 是一款 OpenTelemetry 后端在新窗口中打开,它支持分布式跟踪、指标和日志。您可以使用它来监控应用程序并排查问题。

Uptrace Overview

Uptrace 带有一个直观的查询构建器、丰富的仪表板、带有通知的警报规则以及大多数语言和框架的集成。

Uptrace 可以在一台服务器上处理数十亿个跨度和指标,并允许您以 10 倍的成本监控您的应用程序。

只需几分钟,您就可以通过访问 云演示在新窗口中打开 (无需登录)或使用 Docker在新窗口中打开 在本地运行它。源代码可在 GitHub在新窗口中打开 上获得。

结论

pgBackRest 是一款可靠的备份工具,需要最少的配置。为了在备份大小和还原时间之间取得良好的平衡,您可以每周创建一个完整备份,每天创建一个差异/增量备份。