os:centos 7.5
postgresql: 10.0
1.软件下载:
https://github.com/ossc-db/pg_rman/releases/pg_rman-1.3.7-1.pg10.rhel7.x86_64.rpm

2.安装pg_rman:
[root@my-mm ~]# yum localinstall pg_rman-1.3.7-1.pg10.rhel7.x86_64.rpm
Loaded plugins: fastestmirror
Examining pg_rman-1.3.7-1.pg10.rhel7.x86_64.rpm: pg_rman-1.3.7-1.pg10.rhel7.x86_64
Marking pg_rman-1.3.7-1.pg10.rhel7.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package pg_rman.x86_64 0:1.3.7-1.pg10.rhel7 will be installed
--> Processing Dependency: postgresql10-libs for package: pg_rman-1.3.7-1.pg10.rhel7.x86_64
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.ustc.edu.cn
 * extras: centos.ustc.edu.cn
 * updates: mirrors.cn99.com
--> Finished Dependency Resolution
Error: Package: pg_rman-1.3.7-1.pg10.rhel7.x86_64 (/pg_rman-1.3.7-1.pg10.rhel7.x86_64)
           Requires: postgresql10-libs
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

安装依赖包库,再次安装::
rpm -ivh https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7.5-x86_64/pgdg-centos10-10-2.noarch.rpm
yum localinstall pg_rman-1.3.7-1.pg10.rhel7.x86_64.rpm
安装后的pg_rman 路径:
/usr/pgsql-10/bin/pg_rman

3.配置pg_rman初始化备份目录:
cd /pgdata/10/backup
/usr/pgsql-10/bin/pg_rman init -B /pgdata/10/backup/
INFO: ARCLOG_PATH is set to '/pgdata/10/archive_wal'
INFO: SRVLOG_PATH is set to '/pgdata/10/log'

4.添加用户环境变量:

su - postgres

vi ~/.bash_profile

export ARCLOG_PATH=/pgdata/10/archive_wal
export SRVLOG_PATH=/pgdata/10/log
export BACKUP_PATH=/pgdata/10/backup

5.pg_rman备份脚本:
vim /pgdata/10/script/pg_rmanbackup.sh
#!/bin/bash
source ~/.bash_profile
export ARCLOG_PATH='/pgdata/10/archive_wal'
export SRVLOG_PATH='/pgdata/10/log'
export BACKUP_PATH='/pgdata/10/backup'

/usr/pgsql-10/bin/pg_rman backup --backup-mode=full --progress -Z --keep-data-days=7 --keep-arclog-days=7 ;
/usr/pgsql-10/bin/pg_rman validate;

6.执行备份,可以添加到定时任务,下面为手动执行:
[postgres@postgres]$ chmod +x pg_rmanbackup.sh
[postgres@postgres]$ ./pg_rmanbackup.sh
INFO: copying database files
Processed 985 of 985 files, skipped 0
INFO: copying archived WAL files
Processed 4 of 4 files, skipped 0
INFO: backup complete
INFO: Please execute 'pg_rman validate' to verify the files are correctly copied.
INFO: start deleting old archived WAL files from ARCLOG_PATH (keep days = 7)
INFO: the threshold timestamp calculated by keep days is "2018-12-05 00:00:00"
INFO: start deleting old backup (keep after = 2018-12-05 00:00:00)
INFO: does not include the backup just taken
INFO: validate: "2018-12-12 03:28:38" backup and archive log files by CRC
INFO: backup "2018-12-12 03:28:38" is valid

确认:
[postgres@postgres]$ pg_rman show -B /pgdata/10/backup/
=====================================================================
 StartTime           EndTime              Mode    Size   TLI  Status
=====================================================================
2018-12-12 03:28:38  2018-12-12 03:28:46  FULL  5184kB     1  OK

6.pg_rman使用帮助:
pg_rman --help

7.恢复:
删除数据库:
rm -rf /pgdata/10/data/*
查看备份信息:
pg_rman show

=====================================================================
 StartTime           EndTime              Mode    Size   TLI  Status
=====================================================================
2018-12-12 03:28:38  2018-12-12 03:28:46  FULL  5184kB     1  OK

pg_rman  restore -D /pgdata/10/data/ --recovery-target-time='2018-12-12 10:00:00'
[postgres@postgres]$ pg_rman  restore -D /pgdata/10/data/ --recovery-target-time='2018-12-12 10:00:00' -B /pgdata/10/backup/
WARNING: pg_controldata file "/pgdata/10/data//global/pg_control" does not exist
INFO: the recovery target timeline ID is not given
INFO: use timeline ID of latest full backup as recovery target: 1
INFO: calculating timeline branches to be used to recovery target point
INFO: searching latest full backup which can be used as restore start point
INFO: found the full backup can be used as base in recovery: "2018-12-12 03:28:38"
INFO: copying online WAL files and server log files
INFO: clearing restore destination
INFO: validate: "2018-12-12 03:28:38" backup and archive log files by SIZE
INFO: backup "2018-12-12 03:28:38" is valid
INFO: restoring database files from the full mode backup "2018-12-12 03:28:38"
INFO: searching incremental backup to be restored
INFO: searching backup which contained archived WAL files to be restored
INFO: backup "2018-12-12 03:28:38" is valid
INFO: restoring WAL files from backup "2018-12-12 03:28:38"
INFO: restoring online WAL files and server log files
INFO: generating recovery.conf
INFO: restore complete
HINT: Recovery will start automatically when the PostgreSQL server is started.

启动数据库确认数据:
pg_ctl start

转载于:https://blog.51cto.com/1937519/2329199

postgresql使用pg_rman备份恢复相关推荐

  1. PostgreSQL的pg_basebackup备份恢复详解

    备份 pg_basebackup -D /tmp/pg_backup/ -Ft -Pv -U postgres -h 1.15.57.253 -p5432 -R -D 空文件,没有该目录会自动创建 F ...

  2. PostgreSQL之pgdump备份恢复

    逻辑备份在恢复时,介于逻辑备份与故障时间点之间的数据难以恢复,故一般不采取逻辑备份方式进行数据库备份,但逻辑适用于跨平台跨版本的数据迁移: 逻辑备份恢复主要以下三种: pg_dump pg_dumpa ...

  3. Veritas NetBackup备份系统管理维护实战(NBU培训+各种数据库备份恢复)

    一.风哥Veritas NetBackup企业级备份系统建设与管理维护介绍 NBU介绍: Netbackup(简称NBU)是当今世界非常流行的一款数据备份软件,是全球排名NO.1的企业数据保护平台,8 ...

  4. PG13用pg_rman进行备份恢复

    pg_rman进行备份恢复 环境参数: linux版本:CentOS 7.6 PG版本:13.2 docker版本: 18.06.3 1.在容器内源码安装PostgreSQL13.2 要先根据搭建Ce ...

  5. postgresql 备份恢复(一)

    备份恢复对于每个数据来说都是非常重要的.一般的数据库都支持冷备份的方式,冷备份可以保证数据库在此刻的完整性.但是其缺点也非常的明显,为保持数据一致性.冷备份期间数据库中相关数据是不能够使用的,就大大影 ...

  6. 数据库误操作后悔药来了:AnalyticDB PostgreSQL教你实现分布式一致性备份恢复

    简介:本文将介绍AnalyticDB PostgreSQL版备份恢复的原理与使用方法. 一.背景 AnalyticDB PostgreSQL版(简称ADB PG)是阿里云数据库团队基于PostgreS ...

  7. PostgreSQL备份恢复实现

    点击上方"蓝字" 关注我们,享更多干货! 本文主要介绍pg_dump.pg_dumpall.copy.pg_basebackup的使用. 一. pg_basebackup 1. p ...

  8. Postgresql杂谈 18—Postgresql中的备份和恢复(二)

    上一篇文章中,我们主要学习了Postgresql的逻辑备份和恢复,接着上一篇的内容,今天我们介绍下Postgresql的物理备份.所谓物理备份,就是针对数据库的数据文件或者目录进行备份,物理备份的好处 ...

  9. 记一次pg_rman备份postgresql数据库报段错误的处理过程

    作者:瀚高PG实验室(Highgo PG Lab)- 徐云鹤 数据库备机前期稳定执行备份操作,成功无报错.近期发现pg_rman无法完成备份,提示段错误并产生core文件. 通过执行pg_rman d ...

  10. mysql 8.0数据备份恢复_MySQL 8.0 增强逻辑备份恢复工具介绍-爱可生

    作者:杨涛涛 资深数据库专家,专研 MySQL 十余年.擅长 MySQL.PostgreSQL.MongoDB 等开源数据库相关的备份恢复.SQL 调优.监控运维.高可用架构设计等.目前任职于爱可生, ...

最新文章

  1. 切歌请按3或4!我把树莓派装进了旋转电话里,现在它成了一部MP3
  2. 在linux CentOS 上安装chrome 谷歌浏览器
  3. asp.net的一个不错日期控件
  4. mysql聚集索引和二级索引_mysql8 参考手册--聚集索引和二级索引
  5. (一)操作系统概论复习要点笔记
  6. 一款旅游型的在路上应用源码项目
  7. html 文件上传框 input标签
  8. markdown入门4--矩阵空格公式方程组
  9. LeetCode 题 - 28. 实现strStr() python实现
  10. 7-2 最大流 加强版 (20 分)
  11. cocos2d-x的popScene的动画效果
  12. 从安全和不安全两个角度,教你如何发布对象(含各种单例代码)
  13. (转)淘淘商城系列——商品搜索功能Dao实现
  14. Java中用三种方法输出字符串_java中两个字符串连接的三种方法
  15. 不识 Pandas,纵是老手也枉然?
  16. Hibernate三大类查询总结
  17. 《量子信息与量子计算简明教程》第一章·基本概念(下)
  18. 格雷码转换成二进制c语言程序,基于PLC程序实现格雷码转换成二进制码.pdf
  19. 台式计算机无线接入,台式计算机有线连接路由器WiFi方法图步骤,可以详细设置无线内容(...
  20. Hadoop与MPP

热门文章

  1. 第十一章 晚期(运行期)优化(待续)
  2. iOS 中 .a 和 .framework 静态库的创建与 .bundle 资源包的使用
  3. Linux或Linux虚拟机桥接模式使用Python2认证Drcom
  4. Private Bytes,Working Set,Virtual Size的区别
  5. Render Monkey中可渲染纹理的Clear Color
  6. .NET 安全编程 阅读笔记(四)
  7. 关于信息化的全球进程的思考
  8. MYSQL语句和多表查询
  9. JarvisOJ Misc shell流量分析
  10. linux mint 19安装 kvm 软件包