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 定时、基础配置、升级回滚、卸载清理与排障实录。

pgBackRestPostgreSQL备份恢复2026/10/20

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.1PostgreSQL 官方打包,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 命令与工具详解》)。

  1. 写最小配置 /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 需要直接读它)。

  1. 配置 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)
  1. 建仓库目录并授权(pgBackRest 以 postgres 用户运行时仓库归它所有):
sudo mkdir -p /var/lib/pgbackrest
sudo chown -R postgres:postgres /var/lib/pgbackrest
  1. 验证 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。

十一、参考链接