pg_rman的用法
pg_rman使用前提
pg_rman是壹款專門為postgresql設計的在線備份恢復的工具。其支持在線(熱備份)和基於時間點備份方式。
postgresql10以上版本都是自帶pg_rman工具的,如果沒有請單獨安裝。
此處無需記憶,對文章後面使用的參數不理解時,再回來看。
1、創建備份目錄
2、設置環境變量
3、修改postgresql.conf配置文件
3、pg_rman init 初始化
1、備份
2、校驗備份集
重點註意:pg_rman 的備份必須都是經過驗證過的,否則不能進行恢復和增量備份。
3、pg_rman 列出備份集
查看生成的備份文件所在目錄
重點註意:
增量備份是基於文件系統的update time時間線.
增量備份前提:
- 必須要有個對應的全庫備份。
- 當全庫備份後需要驗證備份集。
1、驗證備份集
如上,我們已得到壹個全庫備份。因此只需要從驗證備份開始。
2、備份
3、再次校驗備份集
4、pg_rman 列出備份集
刪除備份有兩種方式
1、直接在fullback文件夾裏面刪除對應時間點的備份
2、使用?pg_rman delete -f "時間點" ?刪除。再刪除增量備份的同時,自動會將全量備份也刪除掉。如下
重點註意:恢復時需要先停庫。
原地覆蓋式恢復
pg_rman restore -B /postgresql-backup/backups/ --recovery-target-time "2020-04-16 13:18:32" --hard-copy
?--如果不指定recovery-target-time,則恢復到最新時間
?--如果不指定hard-copy,則歸檔日誌目錄裏的歸檔日誌是使用的硬連接指向備份目錄中的歸檔日誌,加了這個參數的話,則是直接把備份目錄中的歸檔日誌拷貝到歸檔日誌目錄
1、創建新的data目錄,並修改權限
2、修改postgres用戶的環境變量
3、恢復