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