Postgresql使用pg_rman恢复以及备份集的删除

本文详细介绍了如何使用pg_rman进行异机数据库恢复,包括备份信息查看、目录迁移、恢复命令、注意事项和清理残留数据。重点讲解了备份路径选择、目录结构一致性及重要文件位置的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从之前的介绍我们了解到,pg_rman是物理备份,所以恢复也是物理恢复,需要从物理的数据库文件恢复,提供recovery.conf配置,可以指定恢复的时间点,或者是xlog文件的位置。

恢复实例:

异机恢复
A节点: 10.1.1.8 备份源节点
B节点: 10.1.1.9 需要恢复的新机器

A机器操作:
pg_rman show detail -B /pgbackup/ 可以看到备份相关信息
在这里插入图片描述

这里复制备份目录到新节点

scp -r /pgbackup/  root@10.1.1.9:/

B节点安装数据库软件,注意插件也要安装 (过程略)

pg_rman show detail -B /pgbackup/

在这里插入图片描述

B节点直接恢复

pg_rman restore -B /pgbackup/ -D /opt/pgdata/pg_root/

B节点启动数据库

postgres@melot-pgbouncer-pg-> pg_ctl start
waiting for server to start....2021-04-12 15:08:13.955 CST [22813] LOG:  starting PostgreSQL 12.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
2021-04-12 15:08:13.955 CST [22813] LOG:  listening on IPv4 address "0.0.0.0", port 1921
2021-04-12 15:08:13.955 CST [22813] LOG:  listening on IPv6 address "::", port 1921
2021-04-12 15:08:13.958 CST [22813] LOG:  listening on Unix socket "/tmp/.s.PGSQL.1921"
2021-04-12 15:08:14.006 CST [22813] LOG:  redirecting log output to logging collector process
2021-04-12 15:08:14.006 CST [22813] HINT:  Future log output will appear in directory "log".
 done
server started

启动数据库

postgres@melot-pgbouncer-pg-> psql
psql (12.6)
Type "help" for help.

postgres=# select pg_is_in_recovery();
 pg_is_in_recovery 
-------------------
 f
(1 row)

备份删除:
如有一下备份:

在这里插入图片描述
执行删除命令:

pg_rman delete '2021-03-18 20:27:12'  -B /pgbackup/

在这里插入图片描述
删除后,目录还在,如下20210318目录下面,还有三个子目录,但是数据基本都被清理完毕,剩余一些残留的数据,需要另外执行purge完全清除。
在这里插入图片描述
清理残余数据
在这里插入图片描述

注意事项:

  1. 注意覆盖原有目录

  2. 如果在本机恢复,建议将原有的目录重命名,最好在其他机器恢复,

  3. 软链接的处理,会恢复到目标,并且重新建立软链接,所以目录结构必须与备份时保持一致。

  4. 虽然用户可以指定$PGDATA,恢复到新的目标目录,但是arch_log, 表空间, pg_wal目录无法指定新的位置,所以原地还原时,必须注意这些目录可能被覆盖,先重命名是比较好的手段。

  5. 主要保持块大小一致,pg_config可以查看

安装使用参考:
https://dazuiba008.blog.csdn.net/article/details/114977280

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值