细说postgresql之pg_rman备份恢复 —— 筑梦之路

pg_rman是一款开源的备份恢复软件,支持在线和基于PITR的备份恢复方式。

pg_rman类似于oracle的rman,可以进行全量、增量、归档日志的备份。

运行模式:

安装部署

Releases · ossc-db/pg_rman · GitHub

1、需要根据PG Server的版本,下载安装不同的版本。

2、需要提前使用编译安装的方式来安装PG Server

bash 复制代码
# 拷贝源码
cp pg_rman-1.3.16-pg15.tar.gz /home/postgres

# 文件授权
chown postgres:postgres -R /home/postgres/pg_rman-1.3.16-pg15.tar.gz
chmod +x /home/postgres/pg_rman-1.3.16-pg15.tar.gz

# 切换用户
su - postgres
tar -zxvf pg_rman-1.3.16-pg15.tar.gz

#切换目录,编译安装
cd pg_rman-1.3.16-pg15/
make && make install

开启归档

bash 复制代码
# 创建归档目录并授权
mkdir -p /home/postgres/archive_dir
chown -R postgres.postgres /home/postgres/archive_dir

# 切换用户
su - postgres

# 配置归档
cat >> $PGDATA/postgresql.conf <<"EOF"
wal_level='replica'
archive_mode='on'
archive_command='test ! -f /home/postgres/archive_dir/%f && cp %p /home/postgres/archive_dir/%f'
restore_command='cp /home/postgres/archive_dir/%f %p'
max_wal_senders=10
EOF

--重启PG
pg_ctl restart

--登陆PG
psql -U postgres -h 192.168.6.20 -p 5432
select name,setting from pg_settings where name in ('wal_level','archive_mode','archive_command');
-- 切换归档
select pg_switch_wal();

物理备份

bash 复制代码
# 初始化,实际上就是需要一个目录,这个目录将用于存放备份的文件 

pg_rman init -B /home/postgres/backup

# 全量备份

pg_rman backup --backup-mode=full -B /home/postgres/backup
pg_rman show -B /home/postgres/backup
pg_rman validate -B /home/postgres/backup


# 增量备份

pg_rman backup --backup-mode=incremental -B /home/postgres/backup
pg_rman show -B /home/postgres/backup
pg_rman validate -B /home/postgres/backup

备份恢复

bash 复制代码
--不完全恢复
pg_ctl stop 
rm -rf /pgccc/pgdata/*
pg_rman restore -B /home/postgres/backup \
--recovery-target-time="2024-04-16 12:30:00"

--完全恢复
pg_ctl stop 
rm -rf /pgccc/pgdata/*
pg_rman restore -B /home/postgres/backup

清理备份集

bash 复制代码
--按指定时间从catalog删除备份集
pg_rman -B /home/postgres/backup delete "2024-04-16 12:30:00" -f

pg_rman purge -B /home/postgres/backup
相关推荐
java_logo1 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
广州灵眸科技有限公司9 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
憧憬成为web高手11 小时前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
段一凡-华北理工大学11 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
oradh13 小时前
Oracle XTTS实现跨版本迁移和升级(Oracle 11g单库升级至19C RAC集群)
数据库·oracle·11g升级19c·xtts跨版本迁移和升级
z1234567898614 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
程序猿DD14 小时前
一个 API Key,统一调用大模型、生图和联网搜索
数据库·网关
java_logo14 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
TlSfoward15 小时前
抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具
数据库·爬虫·网络协议·搜索引擎·php
数智化管理手记16 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘