pig pb
pig pgbackrest 命令(别名 pig pb)用于管理 pgBackRest 备份和时间点恢复(PITR)。它封装了常用的 pgbackrest 操作,提供简化的备份管理体验。所有命令均以数据库超级用户身份执行。
pig pb - 管理 pgBackRest 备份和时间点恢复
信息查询:
pig pb info 显示备份信息
pig pb ls 列出备份
pig pb ls repo 列出已配置的仓库
pig pb ls stanza 列出所有 stanza
备份与恢复:
pig pb backup 创建备份(自动:全量/增量)
pig pb backup full 创建全量备份
pig pb restore 从备份恢复(PITR)
pig pb restore -t "..." 恢复到指定时间
pig pb expire 清理过期备份
Stanza 管理:
pig pb create 创建 stanza(首次设置)
pig pb upgrade 升级 stanza(PG 升级后)
pig pb delete 删除 stanza(危险!)
控制命令:
pig pb check 验证备份完整性
pig pb start 启用 pgBackRest 操作
pig pb stop 禁用 pgBackRest 操作
pig pb log 查看 pgBackRest 日志
示例:
pig pb info # 显示所有备份信息
pig pb backup # 自动:无备份则全量,否则增量
pig pb backup full # 全量备份
pig pb restore # 恢复到最新(默认)
pig pb restore -t "2025-01-01 12:00:00+08" # 恢复到指定时间
pig pb create # 初始化 stanza
pig pb expire # 按保留策略清理命令概览
信息查询:
| 命令 | 描述 | 实现方式 |
|---|---|---|
pb info |
显示备份仓库信息 | pgbackrest info |
pb ls |
列出备份集 | pgbackrest info |
pb ls repo |
列出配置的仓库 | 解析 pgbackrest.conf |
pb ls stanza |
列出所有 stanza | 解析 pgbackrest.conf |
备份与恢复:
| 命令 | 描述 | 实现方式 |
|---|---|---|
pb backup |
创建备份 | pgbackrest backup |
pb restore |
从备份恢复(PITR) | pgbackrest restore |
pb expire |
清理过期备份 | pgbackrest expire |
Stanza 管理:
| 命令 | 描述 | 实现方式 |
|---|---|---|
pb create |
创建 stanza(首次设置) | pgbackrest stanza-create |
pb upgrade |
升级 stanza(PG 大版本升级后) | pgbackrest stanza-upgrade |
pb delete |
删除 stanza(危险操作!) | pgbackrest stanza-delete |
控制命令:
| 命令 | 别名 | 描述 | 实现方式 |
|---|---|---|---|
pb check |
验证备份仓库完整性 | pgbackrest check |
|
pb start |
启用 pgBackRest 操作 | pgbackrest start |
|
pb stop |
禁用 pgBackRest 操作 | pgbackrest stop |
|
pb log |
l, lg |
查看日志 | tail/cat 日志文件 |
快速入门
# 查看备份信息
pig pb info # 显示所有备份信息
pig pb info -o json # JSON 格式输出
pig pb ls # 列出所有备份
pig pb ls repo # 列出配置的仓库
pig pb ls stanza # 列出所有 stanza
# 创建备份(必须在主库执行)
pig pb backup # 自动模式:无备份则全量,否则增量
pig pb backup full # 全量备份
pig pb backup diff # 差异备份
pig pb backup incr # 增量备份
# 恢复(PITR)
pig pb restore # 恢复到最新(WAL 流末尾)
pig pb restore -I # 恢复到备份一致性点
pig pb restore -t "2025-01-01 12:00:00+08" # 恢复到指定时间
pig pb restore -n savepoint # 恢复到命名还原点
# Stanza 管理
pig pb create # 初始化 stanza
pig pb upgrade # PG 大版本升级后升级 stanza
pig pb check # 验证仓库完整性
# 清理
pig pb expire # 按保留策略清理
pig pb expire --dry-run # 干运行模式全局参数
| 参数 | 简写 | 说明 |
|---|---|---|
--stanza |
-s |
指定 stanza 名称(自动检测) |
--config |
-c |
pgBackRest 配置文件路径 |
--repo |
-r |
仓库编号(多仓库场景) |
--dbsu |
-U |
数据库超级用户(默认:postgres) |
信息查询命令
pb info
显示备份仓库的详细信息。
pig pb info # 显示所有备份信息
pig pb info -o json # JSON 格式输出
pig pb info -s pg-meta # 指定 stanza
pig pb info --set 20250101-120000F # 查看特定备份集pb ls
列出备份集、仓库或 stanza。
pig pb ls # 列出所有备份
pig pb ls repo # 列出配置的仓库
pig pb ls stanza # 列出所有 stanza
pig pb ls -o json # JSON 格式输出备份与恢复命令
pb backup
创建备份。必须在主库上执行。
pig pb backup # 自动模式备份
pig pb backup full # 全量备份
pig pb backup diff # 差异备份
pig pb backup incr # 增量备份
pig pb backup --dry-run # 干运行模式| 参数 | 简写 | 说明 |
|---|---|---|
--type |
-t |
备份类型:full/diff/incr(默认:自动) |
--force |
-f |
强制备份 |
--dry-run |
干运行模式 |
pb restore
从备份恢复数据库(PITR)。
pig pb restore # 恢复到最新(WAL 流末尾)
pig pb restore -I # 恢复到备份一致性点
pig pb restore -t "2025-01-01 12:00:00+08" # 恢复到指定时间
pig pb restore -n savepoint # 恢复到命名还原点
pig pb restore -l 0/1234567 # 恢复到指定 LSN
pig pb restore -x 12345 # 恢复到指定事务 ID
pig pb restore --set 20250101-120000F # 从指定备份集恢复| 参数 | 简写 | 说明 |
|---|---|---|
--immediate |
-I |
恢复到备份一致性点 |
--time |
-t |
恢复到指定时间戳 |
--name |
-n |
恢复到命名还原点 |
--lsn |
-l |
恢复到指定 LSN |
--xid |
-x |
恢复到指定事务 ID |
--set |
-b |
从特定备份集恢复 |
--target-action |
恢复后操作:promote/pause/shutdown |
执行恢复前必须停止 PostgreSQL 服务。对于完整的 PITR 工作流,推荐使用
pig pitr 命令。pb expire
清理过期备份。
pig pb expire # 按保留策略清理
pig pb expire --dry-run # 干运行模式
pig pb expire --set 20250101-120000F # 清理指定备份集Stanza 管理命令
pb create
创建 stanza。首次设置备份时使用。
pig pb create # 创建默认 stanza
pig pb create -s pg-meta # 创建指定 stanzapb upgrade
升级 stanza。在 PostgreSQL 大版本升级后使用。
pig pb upgrade # 升级默认 stanza
pig pb upgrade -s pg-meta # 升级指定 stanzapb delete
删除 stanza。
pig pb delete # 删除默认 stanza
pig pb delete -s pg-meta # 删除指定 stanza
pig pb delete -f # 强制删除此操作会删除 stanza 及其所有备份数据,无法恢复!
控制命令
pb check
验证备份仓库完整性。
pig pb check # 验证默认 stanza
pig pb check -s pg-meta # 验证指定 stanzapb start
启用 pgBackRest 操作。
pig pb start # 启用所有操作
pig pb start -s pg-meta # 启用指定 stanzapb stop
禁用 pgBackRest 操作。
pig pb stop # 禁用所有操作
pig pb stop -s pg-meta # 禁用指定 stanza
pig pb stop -f # 强制停止pb log
查看 pgBackRest 日志。
pig pb log # 显示最近日志
pig pb log tail # 实时跟踪日志
pig pb log -n 100 # 显示最近 100 行设计说明
与 pgbackrest 的关系:
pig pb 封装了 pgbackrest 的常用操作,提供更友好的命令行界面。
默认配置路径:
| 配置项 | 默认值 |
|---|---|
| 配置文件 | /etc/pgbackrest/pgbackrest.conf |
| 日志目录 | /pg/log/pgbackrest |
权限处理:
- 如果当前用户已是 DBSU:直接执行命令
- 如果当前用户是 root:使用
su - postgres -c "..."执行 - 其他用户:使用
sudo -inu postgres -- ...执行
平台支持:
此命令专为 Linux 系统设计。
Last updated on