時間:2024-03-08 08:50作者:下載吧人氣:18
前言
最近工作上使用的數(shù)據(jù)庫一直是Postgresql,這是一款開源的數(shù)據(jù)庫,而且任何個人可以將該數(shù)據(jù)庫用于商業(yè)用途。在使用Postgresql的時候,讓我最明顯的感覺就是這數(shù)據(jù)庫做的真心好,雖然說數(shù)據(jù)庫的安裝包真的很小,但是性能和操作的便捷是一點也不輸給其他商業(yè)的大型數(shù)據(jù)庫,另外在命令行界面下對該數(shù)據(jù)庫直接進行操作的感覺真的是很爽。在使用數(shù)據(jù)庫的時候,我們作為小公司的數(shù)據(jù)庫管理員有一項工作是不可能避免的,那就是數(shù)據(jù)的備份和恢復問題。PostgreSQL雖然各個方面的有點很多,但是在數(shù)據(jù)庫備份這方面,它是不支持增量備份的,這點確實讓人覺得很是可惜啊。不過,瑕不掩瑜,總的來說這是一款很好的數(shù)據(jù)庫軟件。
之前,我們在 《Postgresql主從異步流復制方案》 一節(jié)中,部署了Postgresql的主從異步流復制環(huán)境。主從復制的目的是為了實現(xiàn)數(shù)據(jù)的備份,實現(xiàn)數(shù)據(jù)的高可用性和容錯行。下面主要簡單地介紹下我們運維Postgresql數(shù)據(jù)庫時的場景備份與恢復方案。
增量備份
PostgreSQL在做寫入操作時,對數(shù)據(jù)文件做的任何修改信息,首先會寫入WAL日志(預寫日志),然后才會對數(shù)據(jù)文件做物理修改。當數(shù)據(jù)庫服務器掉重啟時,PostgreSQL在啟動時會首先讀取WAL日志,對數(shù)據(jù)文件進行恢復。因此,從理論上講,如果我們有一個數(shù)據(jù)庫的基礎備份(也稱為全備),再配合WAL日志,是可以將數(shù)據(jù)庫恢復到任意時間點的。
上面的知識點很重要,因為我們場景的增量備份說白了就是通過基礎備份 + 增量WAL日志 進行重做恢復的。
增量備份設置
為了演示相關功能,我們基于 《Postgresql主從異步流復制方案》 一節(jié)中的環(huán)境pghost1服務器上,創(chuàng) 建相關管理目錄
切換到 postgres 用戶下
mkdir -p /data/pg10/backups mkdir -p /data/pg10/archive_wals
網(wǎng)友評論