数据库维护中备份和恢复重要性毋庸置疑,实现的方式也多种多样,各有千秋;参照ORACLE备份恢复工具, Postgresql也具备了类似的备份恢复能力。
现对以下几种备份工具的简单对比:
鉴于长期使用rman的原因,本文主要介绍pg_rman的部署及使用;
1. 安装部署
1)下载对应数据库版本及操作系统的安装包
https://github.com/ossc-db/pg_rman/releases
当前1.3版本是比较稳定的版本,从1.3.9开始支持PG12以上版本,目前最新支持PG13版本;
2)上传安装包并解压安装(postgres用户安装)
# tar vxf pg_rman-1.3.9-pg12.tar.gz
# cd pg_rman-1.3.9-pg12
# make
# make install
# makeinstallcheck
3)开归档
Alter system set wal_level=replica;
Alter system set archive_mode=on;
Alter system set archive_command = cp %p /opt/pg12/arch/%f;
重启数据库,也可直接修改配置文件开启归档
4)初始化环境
——设置备份目录,在用户配置文件里面添加如下:
——让环境变量生效
source .bash_profile
$ pg_rman init
pg_rman init
INFO: ARCLOG_PATH is set to /opt/pg12/arch
INFO: SRVLOG_PATH is set to /opt/pg12/data/pg_log
注:在配置归档路径时,路径不要写成cp %p /opt/pg12/arch/ar_%f,初始化后ARCLOG_PATH后路径显示是/opt/pg12/arch/ar,实际归档文件存在/opt/pg12/arch,清理归档时会报找不到文件;
[postgres@pg1 pg12]$ ll pg_rman_bk
total 8
drwx------. 5 postgres postgres 48 Jul 7 12:21 20210707
drwx------. 4 postgres postgres 34 Jul 7 11:03 backup
-rw-rw-r--. 1 postgres postgres 69 Jul 7 11:03 pg_rman.ini
-rw-rw-r--. 1 postgres postgres 40 Jul 7 11:03 system_identifier
drwx------. 2 postgres postgres 6 Jul 7 11:03 timeline_history
$ pg_rman backup --backup-mode=full -B /opt/pg12/pg_rman_bk/ -C -P
$ pg_rman validate
INFO: validate: "2021-07-07 12:23:52" backup and archive log files by CRC
INFO: backup "2021-07-07 12:23:52" is valid
查看备份信息:
$ pg_rman show
=====================================================================
StartTime EndTime Mode Size TLI Status
=====================================================================
2021-07-03 12:24:02 2021-07-07 12:24:04 FULL 15MB 1 OK
增量备份(对数据库做增量备份前先做full备份):
$ pg_rman backup --backup-mode=incremental
INFO: copying database files
INFO: copying archived WAL files
INFO: backup complete
-强制删除指定时间点之前的所有备份:
pg_rman delete "2021-07-07 12:21:15" -f
pg_archivecleanup /opt/pg12/arch 000000010000000000000003
archive_cleanup_command = pg_archivecleanup /opt/pg12/arch %r
备份策略文件:pg_rman.ini
可配置备份的环境变量、备份选项、备份集保留期限等信息
默认信息如下:
[postgres@pg1 pg_rman_bk]$ cat pg_rman.ini
ARCLOG_PATH=/opt/pg12/arch
SRVLOG_PATH=/opt/pg12/data/pg_log
3. 恢复
恢复数据库集群:
启动数据库:
指定恢复到某个时间点:
pg_rman retore --recovery-target-time="2021-07-07 13:12:26"
更多精彩干货分享
点击下方名片关注
IT那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129821.html
pg_rman备份工具(下) img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; marg...
摘要:平台采用分布式存储系统作为虚拟化存储,用于对接虚拟化计算及通用数据存储服务,消除集中式网关,使客户端直接与存储系统进行交互,并以多副本纠删码多级故障域数据重均衡故障数据重建等数据保护机制,确保数据安全性和可用性。云计算平台通过硬件辅助的虚拟化计算技术最大程度上提高资源利用率和业务运维管理的效率,整体降低 IT 基础设施的总拥有成本,并有效提高业务服务的可用性、可靠性及稳定性。在解决计算资源的...
摘要:指定要用于查找的口令文件的名称。前四个字段可以是确定的字面值,也可以使用通配符匹配所有。利用环境变量引用的文件权限也要满足这个要求,否则同样会被忽略。在上,该文件被假定存储在一个安全的目录中,因此不会进行特别的权限检查。 pg_dump pg_dump 把一个数据库转储为纯文本文件或者是其它格式. 用法: pg_dump [选项]... [数据库名字] 一般选项: -f, --fi...
摘要:作者谭峰张文升出版日期年月页数页定价元本书特色中国开源软件推进联盟分会特聘专家撰写,国内多位开源数据库专家鼎力推荐。张文升中国开源软件推进联盟分会核心成员之一。 很高兴《PostgreSQL实战》一书终于出版,本书大体上系统总结了笔者 PostgreSQL DBA 职业生涯的经验总结,本书的另一位作者张文升拥有丰富的PostgreSQL运维经验,目前就职于探探科技任首席PostgreS...
摘要:摘要第九届中国数据库技术大会,阿里云数据库产品专家萧少聪带来以阿里云如何打破迁移上云的壁垒为题的演讲。于是,阿里云给出了上面的解决方案。 摘要: 2018第九届中国数据库技术大会,阿里云数据库产品专家萧少聪带来以阿里云如何打破Oracle迁移上云的壁垒为题的演讲。Oracle是指数据库管理系统,面对Oracle迁移上云的壁垒,阿里云如何能够打破它呢?本文提出了Oracle 到云数据库P...
阅读 1235·2023-01-11 13:20
阅读 1543·2023-01-11 13:20
阅读 996·2023-01-11 13:20
阅读 1651·2023-01-11 13:20
阅读 3958·2023-01-11 13:20
阅读 2456·2023-01-11 13:20
阅读 1290·2023-01-11 13:20
阅读 3452·2023-01-11 13:20