pg_rman備份及恢復【轉】

前言

pg_rman是一款開源的備份恢復軟件,支持在線和基於PITR的備份恢復方式

1.pg_rman介紹

pg_rman是一款開源的備份恢復軟件,
支持在線和基於PITR的備份恢復方式。
pg_rman類似於oracle的rman,
可以進行全量、增量、歸檔日誌的備份。

pg_rman的用法非常簡單,支持以下幾種運行模式

圖片

2.安裝部署

https://github.com/ossc-db/pg_rman/releases/tag/V1.3.16

圖片

1、需要根據PG Server的版本,下載安裝不同的版本。
2、需要提前使用編譯安裝的方式來安裝PG Server
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

[postgres@centos79 ~]$ which pg_rman
/pgccc/pgsql-15/bin/pg_rman

圖片

3.PG開啓歸檔

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();

圖片

4.物理備份

4.1 初始化

初始化,實際上就是需要一個目錄,這個目錄將用於存放備份的文件 
[postgres@centos79 ~]$ pg_rman init -B /home/postgres/backup

圖片

4.2 全量備份

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

圖片

4.3 增量備份

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

圖片

5.備份恢復

5.1 不完全恢復

--不完全恢復
pg_ctl stop 
rm -rf /pgccc/pgdata/*
pg_rman restore -B /home/postgres/backup \
--recovery-target-time="2024-04-16 16:23:36"

圖片

5.2 完全恢復

pg_ctl stop 
rm -rf /pgccc/pgdata/*
pg_rman restore -B /home/postgres/backup

圖片

6.刪除備份集

--按指定時間從catalog刪除備份集
pg_rman -B /home/postgres/backup delete "2024-04-16 16:12:45" -f
[postgres@centos79 ~]$ pg_rman purge -B /home/postgres/backup
INFO: DELETED backup "2024-04-16 16:12:42" is purged

圖片

7.總結

pg_rman跑的不是流複製協議,而是文件拷貝,希望本篇文章幫助大家更好管理好PG的備份恢復

轉自

掰着腳趾數備份恢復,pg_rman也算一個夠牛逼的工具了!!!
https://mp.weixin.qq.com/s/w4mZ-wu2TxSeT5aZ1NGVyw

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章