pg_rman:备份和恢复管理工具#postgresql培训

pg_rman 是 PostgreSQL 的在线备份和恢复工具。

pg_rman 项目的目标是提供一种与 pg_dump 一样简单的在线备份和 PITR 方法。此外,它还为每个数据库集群维护一个备份目录。用户只需一个命令即可维护包括存档日志在内的旧备份。

#PG培训#PG考试#postgresql考试#postgresql认证

分支

pg_rman 存储库中有多个分支,以便使用不同的 PostgreSQL 服务器版本,而无需引入服务器版本检查代码块。请选择一个分支以匹配您将针对其构建 pg_rman 的 PostgreSQL 版本。

  • master :PostgreSQL 17 的分支测试
  • REL_16_STABLE :PostgreSQL 16 的分支测试
  • REL_15_STABLE :PostgreSQL 15 的分支测试
  • REL_14_STABLE :PostgreSQL 14 的分支测试
  • REL_13_STABLE :PostgreSQL 13 的分支测试
  • REL_12_STABLE :PostgreSQL 12 的分支测试
  • REL_11_STABLE :PostgreSQL 11 的分支测试

如何使用

要进行在线备份,请使用以下backup命令:

sql 复制代码
$ pg_rman backup --backup-mode=full --with-serverlog
INFO: copying database files
INFO: copying archived WAL files
INFO: copying server log files
INFO: backup complete
INFO: Please execute 'pg_rman validate' to verify the files are correctly copied.

要列出迄今为止进行的所有备份,请使用以下show命令:

sql 复制代码
$ pg_rman show
 =====================================================================
  StartTime           EndTime              Mode    Size   TLI  Status
 =====================================================================
 2023-11-28 12:14:03  2023-11-28 12:14:05  FULL   342MB     1  OK
 2023-11-28 12:13:56  2023-11-28 12:13:57  ARCH    16MB     1  OK
 2023-11-28 12:13:52  2023-11-28 12:13:53  ARCH    16MB     1  OK
 2023-11-28 12:13:24  2023-11-28 12:13:26  FULL   375MB     1  OK
 2023-11-28 12:13:15  2023-11-28 12:13:17  INCR    33MB     1  OK
 2023-11-28 12:12:48  2023-11-28 12:12:50  INCR    33MB     1  OK
 2023-11-28 12:12:36  2023-11-28 12:12:38  INCR    33MB     1  OK
 2023-11-28 12:11:51  2023-11-28 12:12:00  FULL  3366MB     1  OK

要从备份中恢复,请使用restore命令。直到 PostgreSQL11,请注意 pg_rman 本身会生成recovery.conf执行 PostgreSQL PITR 所需的文件。

sql 复制代码
$ pg_ctl stop -m immediate
$ pg_rman restore
$ cat data/recovery.signal
# recovery.signal generated by pg_rman 1.3.16
$ cat data/pg_rman_recovery.conf
# added by pg_rman 1.3.16
restore_command = 'cp /home/postgres/arclog/%f %p'
recovery_target_timeline = '1'
$ pg_ctl start

到PostgreSQL12之后,注意pg_rman本身添加了PostgreSQL PITR相关选项到文件中,并在$PGDATA中postgresql.conf生成该文件。recovery.signal

要查看每个命令使用的更多选项,请运行pg_rman --help。

相关推荐
Elastic 中国社区官方博客5 小时前
错误最多的服务运行正常:使用 ES|QL 从日志进行根因分析
大数据·运维·数据库·sql·elasticsearch·搜索引擎·全文检索
做运维的阿瑞6 小时前
mysql数据库视图笔记:创建、修改、删除与适用场景
数据库·笔记·mysql
Seraphina366 小时前
DVWA(SQL Injection-High,XSS Reflected-Medium,XSS Stored-Medium)
数据库·经验分享·sql·网络安全·xss
@Mike@6 小时前
12-数据库学习笔记(五种连接算法)
数据库·笔记·学习
Omics Pro6 小时前
之江实验室NAR|虚拟细胞3阶段训练范式
数据库·人工智能·算法·机器学习·自然语言处理
龙亘川6 小时前
探索智慧文化服务:建设初衷、整体架构、技术支撑、发展现状与实践影响
大数据·数据库·架构
风早爽太6 小时前
Python 学习笔记:数据库迁移工具 ‌Alembic
数据库·python·fastapi·alembic
java1234_小锋6 小时前
【技术专题】Mysql8 数据库 - Mysql8 数据库基本操作
数据库·mysql
其实防守也摸鱼7 小时前
DeepSeek Harness 开源贡献手记:从 Issue 到 Merge 的完整旅程
android·数据库·学习·ai·oracle·自动化
jason.zeng@15022077 小时前
canal做mysql的异步传输工具
数据库·mysql·linq