Ubuntu 22.04 安装 pgBackRest 2.60.0 指南
Ubuntu 22.04 安装 pgBackRest 双方案实测:PGDG APT 仓库安装 2.59.3(含 universe 2.37 对照与升级路径)与 meson/ninja 编译安装最新稳定版 2.60.0(2026-10-18 发布),覆盖版本选型、systemd timer/cron 定时、基础配置、升级回滚、卸载清理与排障实录。
Ubuntu 22.04 安装 pgBackRest 2.60.0 指南
目标:在 Ubuntu 22.04 服务器上从零装好 pgBackRest 并完成可运行的最小配置。本文提供两种方案并均已实测:方案 A 走 PGDG APT 仓库(实测装到 2.59.3),方案 B 用官方发行包 meson 编译(实测装到最新稳定版 2.60.0,2026-10-18 发布);同时给出定时备份托管(systemd timer 与 cron)、升级/回滚与卸载清理的完整闭环。已在 Ubuntu 22.04.5 LTS(x86_64)+ PostgreSQL 16.15(PGDG 源)环境实测通过(查询/实测日期 2026-10-19~20)。
一、环境信息
- 操作系统:Ubuntu 22.04.5 LTS(x86_64,容器化实测环境与真机命令一致)。
- PostgreSQL:16.15(PGDG 源
jammy-pgdg安装,数据目录/var/lib/postgresql/16/main,端口 5432)。PG 本体安装如需先补课,见 《Ubuntu 22.04 安装 PostgreSQL 18 指南》(16/18 系流程一致)。 - pgBackRest:方案 A 实测
2.59.3-1.pgdg22.04+1(PGDG 源当前候选版本);方案 B 实测2.60.0(官方发行包源码编译)。 - 关键路径:主配置
/etc/pgbackrest/pgbackrest.conf(本文采用,官方文档路径);Debian 包自带骨架/etc/pgbackrest.conf;备份仓库/var/lib/pgbackrest(repo1)与/var/lib/pgbackrest2(repo2 演示);日志/var/log/pgbackrest。 - 命令运行用户:备份/恢复类命令以
postgres用户执行(sudo -u postgres pgbackrest …)。 - 时区说明:实测环境为 UTC,回显中的时间戳按原样照抄。
二、前置条件
- 一台 Ubuntu 22.04 服务器,具备 root 或 sudo 权限。
- 服务器可访问
archive.ubuntu.com与apt.postgresql.org(在线方案需要);源码方案还需访问 GitHub 下载发行包。内网受限环境可在下载环节使用 HTTP 代理或离线拷包,见第九章 FAQ。 - 目标 PostgreSQL 实例(pgBackRest 是 PostgreSQL 的备份工具,没有 PG 实例则只剩命令壳):本实验随方案 A 一并从 PGDG 源安装
postgresql-16。若已有实例,跳过对应安装步骤即可,pgBackRest 对 PG 9.6 及以上版本提供支持。 - 磁盘余量:备份仓库至少容纳一份全量备份(本实验 30MB 级演示库,生产按数据目录 1.5~3 倍估算并考虑保留策略)。
三、版本选型说明
先说结论:截至查询日 2026-10-20,pgBackRest 官方最新稳定版为 2.60.0(2026-10-18 发布),依据 GitHub Releases 与 postgresql.org 发布新闻;而 Ubuntu 22.04 可用的打包版本滞后于官方(下表为实查结果),需要最新版就走方案 B 源码编译。
| 渠道 | 可用版本(2026-10-20 实查) | 说明 |
|---|---|---|
| GitHub Releases(官方) | 2.60.0(2026-10-18) | 最新稳定版;2.59.0 起提供预生成发行包 pgbackrest-{version}.tar.gz |
| PGDG APT 源(jammy-pgdg) | 2.59.3(候选),另存 2.59.2/2.59.1 | PostgreSQL 官方打包,Debian/Ubuntu 首选渠道,版本略滞后 |
| Ubuntu universe 源(jammy) | 2.37 | 系统自带源,版本陈旧,不建议用于生产 |
来源:apt-cache policy 与 GitHub Releases 实查(2026-10-20)。关键差异解读:2.59.3 → 2.60.0 之间最重要的是 2.60.0 对页校验和错误的处理策略变更(restore 遇无效页校验和默认硬失败,checksum-page-error=n 降级为告警)与对象存储读预取;另有构建体系从 configure/make 迁移到 meson/ninja——网上旧教程的 ./configure && make 对 2.60.0 直接失效(实测报错见第九章 FAQ ③)。
💡 技术拓展:Linux 上装软件"从哪个源来"决定了版本新旧与升级方式,常见三类来源对比——
来源 版本策略 升级方式 适用场景 发行版自带源(universe) 随发行版冻结,旧 apt upgrade(小版本) 只求可用、不追新 上游专用仓库(PGDG) 紧跟上游,滞后数天~数周 apt upgrade 自动跟进 生产主流选择 源码编译 任意版本,即刻最新 重新下载重编译 需要最新特性/打补丁 本文方案 A 采用 PGDG 源(生产主流),方案 B 源码编译获取 2.60.0。
四、在线安装方案 A:PGDG APT 仓库(推荐)
4.1 方案说明
PGDG(PostgreSQL Global Development Group)官方 APT 仓库同时维护 PostgreSQL 服务端与 pgBackRest 等生态工具,是 Debian/Ubuntu 上的官方推荐渠道(pgbackrest.org 用户指南即按此路径书写)。本方案实测:安装 2.59.3-1.pgdg22.04+1,并顺带安装 PostgreSQL 16 作为备份对象。
4.2 配置 PGDG 源
先装基础工具,再导入 PGDG 签名密钥并写入源文件:
sudo apt-get update
sudo apt-get install -y curl ca-certificates gnupg
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc \
https://www.postgresql.org/media/keys/ACCC4CF8.asc
echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt jammy-pgdg main" \
| sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt-get update
实测 apt-get update 关键回显(节选):
Get:5 https://apt.postgresql.org/pub/repos/apt jammy-pgdg/main amd64 Packages [269 kB]
Get:6 https://apt.postgresql.org/pub/repos/apt jammy-pgdg/main amd64 Packages [1159 kB]
Fetched 1348 kB in 11s (125 kB/s)
Reading package lists... Done
验证源生效与候选版本(实测):
apt-cache policy pgbackrest postgresql-16 | head -20
pgbackrest:
Installed: (none)
Candidate: 2.59.3-1.pgdg22.04+1
Version table:
2.59.3-1.pgdg22.04+1 500
500 https://apt.postgresql.org/pub/repos/apt jammy-pgdg/main amd64 Packages
2.59.2-1.pgdg22.04+1 500
500 https://apt.postgresql.org/pub/repos/apt jammy-pgdg/main amd64 Packages
2.59.1-1.pgdg22.04+1 500
500 https://apt.postgresql.org/pub/repos/apt jammy-pgdg/main amd64 Packages
2.37-1 500
500 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
postgresql-16:
Installed: (none)
Candidate: 16.15-1.pgdg22.04+2
⚠️ 注意:如果只做
apt install pgbackrest而不配 PGDG 源,Ubuntu 22.04 会从 universe 源装到 2.37(实测验证,见 4.3 的对照实验)。2.37 与 2.59+ 在仓库格式与特性上差距很大,生产务必用 PGDG 源。
4.3 安装 pgbackrest 与 PostgreSQL 16
sudo apt-get install -y postgresql-16 pgbackrest
实测关键回显(节选):
Setting up postgresql-16 (16.15-1.pgdg22.04+2) ...
Creating new PostgreSQL cluster 16/main ...
/usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions
waiting for server to boot....ok
Setting up pgbackrest (2.59.3-1.pgdg22.04+1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.14) ...
真实服务器上安装脚本会自动初始化并拉起 16/main 集群。确认集群状态(实测):
pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
16 main 5432 online postgres /var/lib/postgresql/16/main /var/log/postgresql/postgresql-16-main.log
universe 源对照实验(同一系统先不配 PGDG 源直接安装,实测):
apt-get install -y pgbackrest
pgbackrest version
pgBackRest 2.37
ii pgbackrest 2.37-1 amd64 Reliable PostgreSQL Backup & Restore
随后按 4.2 配置 PGDG 源再执行 apt-get install -y pgbackrest,实测自动升级并输出 Setting up pgbackrest (2.59.3-1.pgdg22.04+1) ...、Installing new version of config file /etc/pgbackrest.conf ...,再查版本:
pgBackRest 2.59.3
4.4 安装验证与包内清单
pgbackrest version
dpkg -l pgbackrest | tail -1
dpkg -L pgbackrest | grep -E 'bin|etc|log'
实测回显:
pgBackRest 2.59.3
ii pgbackrest 2.59.3-1.pgdg22.04+1 amd64 Reliable PostgreSQL Backup & Restore
/etc
/etc/logrotate.d
/etc/logrotate.d/pgbackrest
/etc/pgbackrest.conf
/usr/bin
/usr/bin/pgbackrest
/var/log
/var/log/pgbackrest
Debian 包自带的配置骨架与日志轮转(实测内容):
cat /etc/pgbackrest.conf
cat /etc/logrotate.d/pgbackrest
[global]
repo1-path=/var/lib/pgbackrest
#repo1-retention-full=2
#repo1-cipher-pass=...
#repo1-cipher-type=aes-256-cbc
#[main]
#pg1-path=/var/lib/postgresql/13/main
/var/log/pgbackrest/*.log {
weekly
rotate 10
delaycompress
compress
notifempty
missingok
su root root
copytruncate
}
说明:包配置骨架在 /etc/pgbackrest.conf(Debian 惯例),而 pgBackRest 官方文档路径是 /etc/pgbackrest/pgbackrest.conf——两处都会被读取,且 /etc/pgbackrest/pgbackrest.conf 优先。为与官方文档一致,本文后续章节使用 /etc/pgbackrest/pgbackrest.conf,并把 /etc/pgbackrest.conf 改为一行注释避免混淆:
sudo mkdir -p /etc/pgbackrest
echo '# 主配置迁移至 /etc/pgbackrest/pgbackrest.conf' | sudo tee /etc/pgbackrest.conf
4.5 定时备份托管:systemd timer 与 cron
pgBackRest 是按需执行的 CLI 工具,没有内置调度器(官方 backup 命令帮助原文:"pgBackRest does not have a built-in scheduler so it's best to run it from cron or some other scheduling mechanism"),需要用 systemd timer 或 cron 周期触发。注意包本身不提供服务单元,需要按下面自建。
方式一:systemd timer(推荐,支持 Persistent 补跑)。创建服务与定时器单元:
sudo tee /etc/systemd/system/pgbackrest-backup.service <<'UNIT'
[Unit]
Description=pgBackRest full/diff backup for stanza db
After=postgresql.service
[Service]
Type=oneshot
User=postgres
ExecStart=/usr/local/bin/pgbackrest --stanza=db backup
UNIT
sudo tee /etc/systemd/system/pgbackrest-backup.timer <<'UNIT'
[Unit]
Description=Daily pgBackRest backup at 01:30
[Timer]
OnCalendar=*-*-* 01:30:00
Persistent=true
[Install]
WantedBy=timers.target
UNIT
sudo systemctl daemon-reload
sudo systemctl enable --now pgbackrest-backup.timer
实测 systemctl list-timers pgbackrest-backup.timer --no-pager:
NEXT LEFT LAST PASSED UNIT ACTIVATES
Tue 2026-10-20 01:30:00 UTC 8h left n/a n/a pgbackrest-backup.timer pgbackrest-backup.service
1 timers listed.
手动触发一次验证服务可用(stanza 建好后执行,实测 systemctl status pgbackrest-backup.service --no-pager 节选):
TriggeredBy: ● pgbackrest-backup.timer
Process: 8629 ExecStart=/usr/local/bin/pgbackrest --stanza=db backup (code=exited, status=0/SUCCESS)
Main PID: 8629 (code=exited, status=0/SUCCESS)
Oct 19 16:45:57 db1 systemd[1]: Finished pgBackRest full/diff backup for stanza db.
⚠️ 注意:单元里
ExecStart写/usr/local/bin/pgbackrest是因为实测机同时装有方案 B(源码版 2.60.0),用绝对路径锁定版本;仅装方案 A 的服务器可改为/usr/bin/pgbackrest。定时任务一律建议写绝对路径,避免双版本共存时 PATH 歧义。
方式二:cron(官方文档传统写法)。以 postgres 用户配置,每天 01:30 做差异备份(实测 crontab -l 回显):
sudo -u postgres bash -c 'echo "30 01 * * * pgbackrest --stanza=db --type=diff backup" | crontab -'
sudo -u postgres crontab -l
30 01 * * * pgbackrest --stanza=db --type=diff backup
五、源码编译安装方案 B:meson 编译 2.60.0
5.1 方案说明
要装到官方最新稳定版 2.60.0(PGDG 源截至查询日尚未同步),用官方发行包编译。两点重要变化(来源:GitHub Releases v2.59.0/v2.60.0 说明,查询日期 2026-10-20):其一,2.59.0 起官方在 Release 资产里附带"分发 tarball"(pgbackrest-{version}.tar.gz),自带预生成代码与文档,不再需要 Perl 工具链;其二,2.60.0 起构建体系改为 meson + ninja(实测:发行包内已无 configure 脚本)。
5.2 安装编译依赖
发行包 README 给出的 Ubuntu 依赖清单(实测安装命令):
sudo apt-get install -y meson ninja-build gcc libpq-dev libssl-dev libxml2-dev \
pkg-config liblz4-dev libzstd-dev libbz2-dev libssh2-1-dev libsystemd-dev
实测回显(节选):
Setting up meson (0.61.2-1) ...
Setting up libssh2-1:amd64 (1.10.0-3ubuntu0.1) ...
Setting up libsystemd-dev:amd64 (249.11-0ubuntu3.16) ...
依赖说明:liblz4/libzstd 提供 lz4/zstd 压缩算法支持(生产建议保留);libssh2-1-dev 提供 SFTP 存储支持;libsystemd-dev 为 2.59.0 起的可选依赖(用于 sd_notify 集成);不需要 Perl。
5.3 下载发行包
cd /usr/local/src
sudo curl -LO https://github.com/pgbackrest/pgbackrest/releases/download/release/2.60.0/pgbackrest-2.60.0.tar.gz
sha256sum pgbackrest-2.60.0.tar.gz
实测回显(SHA256 可用于校验下载完整性):
6d3ee1b5defdadc85228969b4be804096f5e65e54707bb95c7c4c4ce41f5d007 pgbackrest-2.60.0.tar.gz
⚠️ 注意:GitHub 下载慢或失败时可走代理:
curl -x http://192.168.1.62:7897 -LO <URL>(内网环境换成可达的代理地址),或先在本机下载后 scp 上服务器。
5.4 编译与安装
tar -xzf pgbackrest-2.60.0.tar.gz
cd pgbackrest-2.60.0
meson setup build .
ninja -C build
sudo meson install -C build
meson setup 实测回显(节选,依赖探测结果一目了然):
Run-time dependency libpq found: YES 14.15 (pkg-config)
Run-time dependency openssl found: YES 3.0.2
Run-time dependency libxml2 found: YES 2.9.13
Run-time dependency liblz4 found: YES 1.9.3
Run-time dependency libssh2 found: YES 1.10.0
Run-time dependency libzstd found: YES 1.4.8
Configuring build.auto.h using configuration
Build targets in project: 1
Found ninja-1.10.1 at /usr/bin/ninja
ninja -C build 实测回显(节选首尾):
[193/194] Compiling C object src/pgbackrest.p/storage_sftp_storage.c.o
[194/194] Linking target src/pgbackrest
ninja: Entering directory `/usr/local/src/pgbackrest-2.60.0/build'
ninja: no work to do.
meson install -C build 实测关键回显:
Installing src/pgbackrest to /usr/local/bin
5.5 验证与版本共存
which pgbackrest
pgbackrest version
ls -l /usr/bin/pgbackrest /usr/local/bin/pgbackrest
实测回显:
/usr/local/bin/pgbackrest
pgBackRest 2.60.0
-rwxr-xr-x 1 root root 3973320 Oct 5 08:24 /usr/bin/pgbackrest
-rwxr-xr-x 1 root root 4139512 Oct 19 16:39 /usr/local/bin/pgbackrest
解读:meson 默认前缀 /usr/local,与方案 A 的 /usr/bin/pgbackrest(2.59.3)共存;常规 PATH 中 /usr/local/bin 在前,pgbackrest 命令实际执行 2.60.0。dpkg -l pgbackrest 仍显示 2.59.3(apt 只管 /usr/bin 那份)。若想让 apt 版优先,可在单元文件/脚本中写绝对路径(4.5 的 systemd 单元即如此),或编译时指定前缀:meson setup build . -Dprefix=/usr。
验证新版本可正常工作并读到同一份配置(实测):
sudo -u postgres pgbackrest info
No stanzas exist in the repository.
六、方案对比与选择建议
| 维度 | 方案 A:PGDG APT | 方案 B:meson 源码编译 |
|---|---|---|
| 实测版本 | 2.59.3(查询日 PGDG 候选) | 2.60.0(官方最新稳定版) |
| 是否需联网 | 需要(apt.postgresql.org) | 需要(GitHub 下载依赖与源码包;也可离线拷包) |
| 编译工具链 | 不需要 | 需要 meson/ninja/gcc 及开发库 |
| 升级方式 | apt upgrade 自动跟进 | 重新下载新版重编译安装 |
| 配置/日志路径 | 同一套 /etc、/var/log | 同一套(无差异) |
| systemd/定时托管 | 自建单元(4.5) | 相同 |
| 适合谁 | 生产主流、追稳 | 追最新特性/安全修复、PGDG 未同步期 |
选择建议:生产首选方案 A——版本经 PGDG 打包验证、升级自动化;只有当官方发布了关键修复(如 2.59.3 的弱加密子密钥修复)而 PGDG 尚未同步、或需要 2.60.0 的页校验和硬失败/对象存储预取特性时,才用方案 B 补位。两方案可共存于同一台服务器(不同前缀),但同一时刻只应让一套版本接管实际调度任务。
七、安装后基础配置(最小可运行)
安装只是第一步,让 pgBackRest 能干活需要三处配合:pgBackRest 配置、PostgreSQL 归档配置、仓库目录权限。以下为最小可运行配置(stanza 创建与首次备份的完整流程见《pgBackRest 2.60.0 常用 CLI 命令与工具详解》)。
- 写最小配置
/etc/pgbackrest/pgbackrest.conf(本实验实际文件):
sudo tee /etc/pgbackrest/pgbackrest.conf <<'CONF'
[global]
repo1-path=/var/lib/pgbackrest
repo1-retention-full=2
process-max=4
log-level-console=info
log-level-file=detail
[db]
pg1-path=/var/lib/postgresql/16/main
pg1-port=5432
CONF
逐项说明:repo1-path 仓库根目录;repo1-retention-full 全量保留个数(expire 自动清理超出的旧全量);process-max 并行进程数(压缩/传输并行度);log-level-console/file 控制台与文件日志级别;[db] 段的 pg1-path 指向 PG 数据目录(pgBackRest 需要直接读它)。
- 配置 PostgreSQL 归档(
/etc/postgresql/16/main/postgresql.conf,取消注释并修改):
archive_mode = on
archive_command = 'pgbackrest --stanza=db archive-push %p'
重启生效并验证(实测):
sudo systemctl restart postgresql@16-main
sudo -u postgres psql -c "show archive_mode;" -c "show archive_command;"
archive_mode
--------------
on
(1 row)
archive_command
--------------------------------------------------------------
pgbackrest --stanza=db archive-push %p
(1 row)
- 建仓库目录并授权(pgBackRest 以 postgres 用户运行时仓库归它所有):
sudo mkdir -p /var/lib/pgbackrest
sudo chown -R postgres:postgres /var/lib/pgbackrest
- 验证 pgBackRest 与仓库连通(实测):
sudo -u postgres pgbackrest info
No stanzas exist in the repository.
出现该回显说明配置读取正常、仓库目录可写(尚无 stanza)。之后 stanza-create → check → backup 的全套实测见《pgBackRest 2.60.0 常用 CLI 命令与工具详解》。
八、升级与回滚
- 方案 A 升级:PGDG 源发布新版后,
sudo apt update && sudo apt install --only-upgrade pgbackrest即可;小版本间仓库格式兼容,无需额外动作。查看可用版本列表用apt-cache policy pgbackrest(4.2 实测样式)。 - 方案 B 升级:下载新版发行包 → 解压 → meson setup/ninja/meson install 重跑一遍即覆盖
/usr/local/bin/pgbackrest;升级后执行pgbackrest version确认。跨大特性版本升级前建议先在测试库演练备份/恢复。 - 回滚(方案 A):
sudo apt install pgbackrest=2.59.2-1.pgdg22.04+1可回退到源内指定版本(apt-cache policy 可查源内现存版本)。 - 双版本共存管理:
/usr/local/bin/pgbackrest(源码版)与/usr/bin/pgbackrest(apt 版)共存时,PATH 默认前者生效;定时任务一律写绝对路径锁定版本(4.5 单元文件示例)。确认某个二进制的版本用<绝对路径> pgbackrest version。 - 重要升级提示:2.59.0 起默认只允许 restore 以 root 运行,其余命令 root 执行会报错,需
--allow-root或改用 postgres 用户(见第九章 FAQ ④)。
九、常见问题(FAQ,含排障实录)
Q1:忘了配 PGDG 源,装到的版本很旧?
现象:pgbackrest version 显示 2.37。定位:apt-cache policy pgbackrest 可见候选来自 archive.ubuntu.com/ubuntu jammy/universe。解决:按 4.2 配置 PGDG 源后重新 apt-get install -y pgbackrest,实测自动升级至 2.59.3 并回显 Installing new version of config file /etc/pgbackrest.conf ...。
Q2:导入 PGDG 密钥时报 curl: command not found?
现象:执行 4.2 的密钥下载命令报 bash: line 1: curl: command not found(实测踩中)。定位:最小化 Ubuntu 22.04 未预装 curl。解决:先 sudo apt-get install -y curl ca-certificates gnupg 再重试密钥下载与源配置。
Q3:按旧教程 ./configure && make 编译 2.60.0 失败?
现象(实测原样):bash: line 1: ./configure: No such file or directory、make: *** No targets specified and no makefile found. Stop.。定位:2.60.0 发行包改用 meson 构建,已无 configure 脚本(tar -tzf 可见根目录是 meson.build/meson_options.txt)。解决:按 5.2~5.4 安装 meson/ninja 并用 meson setup build . → ninja -C build → meson install -C build 流程。
Q4:root 执行 backup/check 报错?
现象:2.59.0 起以 root 运行除 restore 外的命令会拒绝执行。定位:官方 release notes IMPORTANT NOTE——"only the restore command may be run as root by default. Use allow-root to run other commands as root"。解决:日常用 sudo -u postgres pgbackrest …;确需 root 时显式加 --allow-root(不推荐)。
Q5:/etc/pgbackrest.conf 与 /etc/pgbackrest/pgbackrest.conf 到底读哪个?
实测结论:两处都读,/etc/pgbackrest/pgbackrest.conf 优先级更高;Debian 包自带前者骨架文件。为避免"改了没生效"的坑,建议统一只用 /etc/pgbackrest/pgbackrest.conf 并把前者改成注释(4.4 步骤),排查配置问题时可用 pgbackrest help <命令> 回显中的 --config [default=/etc/pgbackrest/pgbackrest.conf] 确认实际加载路径。
Q6:cipher-pass 等敏感参数会泄漏到日志吗?
实测:不会。命令回显中敏感项被自动脱敏(如 --repo2-cipher-pass=<redacted>),命令行历史与配置文件权限(640 postgres:postgres)才是需要自管的环节。
十、卸载与清理
方案 A(apt)卸载(实测):
sudo apt-get purge -y pgbackrest
dpkg -l pgbackrest 2>&1 | tail -1
ls -la /etc/pgbackrest.conf /usr/bin/pgbackrest /var/log/pgbackrest 2>&1
实测回显:
Removing pgbackrest (2.59.3-1.pgdg22.04+1) ...
Purging configuration files for pgbackrest (2.59.3-1.pgdg22.04+1) ...
dpkg-query: no packages found matching pgbackrest
ls: cannot access '/etc/pgbackrest.conf': No such file or directory
ls: cannot access '/usr/bin/pgbackrest': No such file or directory
ls: cannot access '/var/log/pgbackrest': No such file or directory
purge 会连带清掉配置与日志目录(binary/config/log 三处实测均无残留)。若有自建的定时单元,一并进行:
sudo systemctl disable --now pgbackrest-backup.timer 2>/dev/null
sudo rm -f /etc/systemd/system/pgbackrest-backup.{service,timer}
sudo systemctl daemon-reload
方案 B(源码)卸载:删除安装产物与源码目录(本实验实测路径):
sudo rm -f /usr/local/bin/pgbackrest
sudo rm -rf /usr/local/src/pgbackrest-2.60.0
仓库数据是备份本身,谨慎删除:确认不再需要备份后再执行 sudo rm -rf /var/lib/pgbackrest /var/lib/pgbackrest2;PostgreSQL 实例如一并下线,按 PG 文档卸载 postgresql-16 并清理 /var/lib/postgresql/16/main。
十一、参考链接
- pgBackRest 官网(用户指南/发行说明):https://pgbackrest.org/
- GitHub Releases(2.60.0 与发行 tarball):https://github.com/pgbackrest/pgbackrest/releases
- PGDG APT 仓库使用说明:https://www.postgresql.org/download/linux/ubuntu/
- 官方用户指南(Debian/Ubuntu):https://pgbackrest.org/user-guide.html
- 官方配置参考:https://pgbackrest.org/configuration.html
- 站内相关:《pgBackRest 2.60.0 介绍与选型指南》、《Ubuntu 22.04 安装 PostgreSQL 18 指南》