PostgreSQL 12.3流複製斷點恢復

1.問題描述:
兩PostgreSQL節點採用異步流複製對數據進行同步,由於需要測試一些東西,對主庫設備進行了頻繁的重啓操作,結果導致流複製中斷,且無法自行恢復,主、備庫開始產生數據差。

2.解決思路:
刪除備庫數據目錄下所有文件,使用PostgreSQL自帶的備份工具pg_basebackup,把主庫數據庫目錄下所有文件拉取到備庫數據目錄下,然後直接啓動備庫服務即可。

3.處理過程:
3.1.查看主庫狀態,保證主庫服務處於運行狀態;
字符f表示該節點爲主庫,字符t表示備庫,流複製中斷後,角色並不會被影響;
PostgreSQL 12.3流複製斷點恢復
3.2.關閉備庫PostgreSQL服務,然後刪除備庫數據目錄下所有文件
PostgreSQL 12.3流複製斷點恢復
3.3.同步主庫數據到本地數據目錄下(流複製用戶:repl,數據目錄:/data/postgresql),同步時間根據數據量大小而定,我這個地方有200~300GB數據,一個小時就同步完了。
PostgreSQL 12.3流複製斷點恢復
3.4.更改數據目錄權限爲700,直接啓動備庫PostgreSQL服務
PostgreSQL 12.3流複製斷點恢復
3.5.登錄到主庫,查看流複製狀態,發現數據同步已重新建立;
PostgreSQL 12.3流複製斷點恢復
3.6.驗證,在主庫創建一個test_sync庫,看是否會同步到備庫;
PostgreSQL 12.3流複製斷點恢復
3.7.登錄備庫後,發現新建的test_sync庫已經同步過來,說明數據同步已恢復。
PostgreSQL 12.3流複製斷點恢復














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