场景
使用主库的全量备份文件在备库上进行数据恢复操作
主库:192.168.48.54
备库:192.168.48.55
主库准备备份文件
主库、备库归档确认
gsql -c 'show archive_mode;'
gsql -c 'show archive_dest;'

主库、备库创建备份实例
mkdir -p /backup/probackup
# 初始化路径
gs_probackup init -B /backup/probackup/
# 创建备份实例
gs_probackup add-instance -B /backup/probackup/ --instance=panweidb -D /database/panweidb/data

主库创建备份文件(全量备份)
# 创建备份
gs_probackup backup -B /backup/probackup --instance=panweidb -b FULL -d postgres
# 查看备份
gs_probackup show -B /backup/probackup --instance=panweidb


复制备份文件到备库
复制SK1HGG到备库
# 主库
cd /backup/probackup/backups/panweidb
nohup scp -r SK1HGG omm@192.168.48.55:/backup/probackup/backups/panweidb &>> /home/omm/scpbacup.log &

复制pg_probackup.conf到备库
# 备库
cd /backup/probackup/backups/panweidb
mv pg_probackup.conf pg_probackup.conf.bak
# 主库
cd /backup/probackup/backups/panweidb
nohup scp pg_probackup.conf omm@192.168.48.55:/backup/probackup/backups/panweidb &>> /home/omm/scpbacup.log &

备库查看

备库恢复测试
单独停止备库
# 备库
cm_ctl stop -n 2
ps -ef | grep panweidb
gs_om -t status --detail

将备库data目录移走,模拟故障
mv /database/panweidb/data /database/panweidb/data.bak

恢复数据
# 备库
# 查看备份
gs_probackup show -B /backup/probackup --instance=panweidb
# 恢复
gs_probackup restore -B /backup/probackup --instance=panweidb -i SK1HGG -D /database/panweidb/data


替换白名单文件及配置文件,并重启
# 备库
mv /database/panweidb/data/pg_hba.conf /database/panweidb/data/pg_hba.conf.bak202409191132
mv /database/panweidb/data/postgresql.conf /database/panweidb/data/postgresql.conf.bak202409191132
cp /database/panweidb/data.bak/pg_hba.conf /database/panweidb/data
cp /database/panweidb/data.bak/postgresql.conf /database/panweidb/data
# 查看
ll | grep postgresql.conf
ll | grep pg_hba.conf
# PS:使用主库的备份文件恢复数据后,需要用备库原本的白名单及配置文件替换掉恢复后的data目录下的文件

备库单独启动数据库
gs_ctl start -D /database/panweidb/data
ps -ef | grep panweidb
数据库启动成功,可以看到进程,并且可以登入数据库查询,且数据完整,则异库恢复成功

恢复环境
停止备库数据库,恢复原本data目录
# 备库
# 停止
gs_ctl stop -D /database/panweidb/data
# 恢复data目录
cd /database/panweidb
mv data data.back202409191148
mv data.bak data


恢复备份实例环境(可选)
# 备库
cd /backup/probackup/backups/panweidb/
mv pg_probackup.conf.bak pg_probackup.conf
mv SK1HGG/ SK1HGG.bak.202409191154

以集群方式启动备库
cm_ctl start -n 2
gs_om -t status --detail






