PostgreSQL的xlog/Wal歸檔及日誌清理
xlog/wal日誌
類似於Oracle的redo, PostgreSQL 的redo檔案被稱為WAL檔案或XLOG檔案,存放在$PGDATA/pg_xlog 或($PGDATA/pg_wal)目錄中( Postgresql 從 10 版本開始,將所用xlog相關的全部用wal替換了)。 任何試圖修改資料庫資料的操作都會寫一份日誌到磁碟。
本文舉例的資料庫版本為 (PostgreSQL) 11.5
wal命名格式檔名稱為16進位制的24個字元組成,每8個字元一組,每組的意義如下:
00000001 00000000 00000001 -------- -------- -------- 時間線 邏輯id 物理id
透過select pg_switch_xlog();或select pg_switch_wal();可以切換xlog/wal日誌。
歸檔目錄
如果開啟了歸檔,則在歸檔路徑下的archive_status目錄裡, 會有類似000000010000000000000002.ready和000000010000000000000003.done的檔案。
.ready表示XLOG檔案已寫滿,可以呼叫歸檔命令了,.done表示已歸檔完成。開啟了歸檔後,只有歸檔成功的pg_xlog檔案才會被清除。在每次歸檔命令被執行後,會觸發清除標籤的動作,在執行檢查點時,也會觸發清除歸檔標籤檔案的動作。
影響wal儲存的最大個數的引數
checkpoint_segments 和 wal_keep_segments,checkpoint_completion_target
通常地說,WAL 最大個數不超過: ( 2 + checkpoint_completion_target ) * checkpoint_segments + 1 在流複製環境下, WAL 最大數不超過: wal_keep_segments + checkpoint_segments + 1
超過的話會自動清理。
預設的 WAL segments 為 16 M, 這個引數在PG 編譯執行 ./configure 時,指定 “–with-wal-segsize=target_value” 引數設定。
手動清理wal(通常情況下儘量讓資料庫自動清理,避免錯誤操作)
如果配置了archive_mode=on,但是沒有配置archive_command,那麼xlog檔案會一直堆積(xlog寫完後,會寫.ready,但是由於沒有配置archive_command,也就是說不會觸發歸檔命令,所以一直都不會寫.done),所以xlog會一直不清理。
1)讀取控制檔案,找到能清理的xlog範圍
pg_controldata $PGDATA
表示000000010000000000000009之前的檔案可以刪除
2)透過pg_archivecleanup清理
[postgres@t1ysl bin]$ pg_archivecleanup -d $PGDATA/pg_wal 000000010000000000000009
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69990629/viewspace-2782598/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rman清理歸檔日誌
- PostgreSQL歸檔日誌配置SQL
- postgresql開啟歸檔日誌SQL
- Postgresql日誌歸檔設定SQL
- oracle歸檔日誌過滿清理Oracle
- MogDB/openGauss誤刪未歸檔的xlog日誌如何解決
- RMAN delete archivelog命令刪除歸檔日誌及歸檔日誌拷貝deleteHive
- 歸檔日誌
- 【Oracle】歸檔日誌管理-設定歸檔日誌路徑以及歸檔日誌冗餘Oracle
- PeopleSoft日誌檔案清理
- oracle歸檔日誌Oracle
- Oracle 歸檔日誌Oracle
- 歸檔日誌挖掘
- 歸檔日誌命令及引數總結
- Oracle資料庫重做日誌及歸檔日誌的工作原理說明Oracle資料庫
- Oracle 11g Data Guard 備庫歸檔日誌清理指令碼(保留一週歸檔)Oracle指令碼
- 歸檔日誌的刪除
- 日誌檔案過大清理
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- 控制檔案/歸檔日誌
- 清理tomcat日誌大的檔案Tomcat
- 歸檔日誌多歸檔路徑 duplex
- 日誌檔案和歸檔日誌檔案的關係以及如何切換日誌
- 歸檔oracle alert日誌Oracle
- 14. 日誌歸檔
- archive log 歸檔日誌Hive
- 備份歸檔日誌
- 歸檔日誌 現象
- RMAN備份及恢復歸檔日誌的語法
- 日誌檔案的監測與檔案清理
- 當ORACLE歸檔日誌滿後如何正確刪除歸檔日誌Oracle
- 用RMAN備份歸檔日誌時檢查歸檔日誌是否存在
- 誤刪歸檔日誌除導致備份歸檔日誌失敗
- 聯機重做日誌、歸檔日誌、備用重做日誌
- 備份歸檔日誌檔案
- 日誌檔案和歸檔管理
- 刪除歸檔日誌檔案
- 刪除歸檔,保留最近的5個歸檔日誌