PostgreSQL中的一些日志


1.Write Ahead Log(WAL日志)
預寫日志(WAL)是保證數據完整性的標准方法。在有關交易處理的大多數(如果不是全部)書籍中都可以找到詳細說明。 簡而言之,WAL的核心概念是,只有在記錄了對這些更改之后,即在描述更改的日志記錄已刷新到永久存儲之后,才寫入對數據文件(表和索引所在的位置)的更改。如果我們遵循此過程,我們不需要在每次事務提交時將數據頁刷新到磁盤,因為我們知道如果發生崩潰,我們將能夠使用日志恢復數據庫:任何尚未應用的更改,可以從日志記錄中重做數據頁面。(這是前滾恢復,也稱為REDO)

WAL還可以支持在線備份和基於時間點恢復。 通過歸檔WAL數據,我們可以支持恢復到可用WAL數據覆蓋的任何時刻:我們只需安裝數據庫的先前物理備份,並將WAL日志重播到所需的時間。 更重要的是,物理備份不必是數據庫狀態的瞬時快照 - 如果它是在一段時間內完成的,那么重播該期間的WAL日志將解決任何內部不一致問題。

位於目錄pg_wal中。單個文件大小由wal-segsize控制。默認是16mb。

WAL日志,相當於Oracle的在線重做日志。

 

主要的相關參數:

wal_level
max_wal_size
min_wal_size

  

2.WAL的歸檔日志
主要的相關參數:

archive_mode
archive_command

  

3.事務狀態日志
pg_xact
pg_xact這個目錄下的文件也是事務日志文件,但與pg_wal不同的是它記錄的是事務的元數據(metadata),這些日志提供了事務提交狀態信息。這個日志文件一般非常小,不得隨意刪除或者對其更改信息。


4.pg_log
server log一般是記錄服務器與DB的狀態,比如各種Error信息,定位慢查詢SQL,數據庫的啟動關閉信息,發生checkpoint過於頻繁等的告警信息。當數據庫出問題時,首先就要查看這個日志

主要的相關參數:

log_destination
logging_collector
log_directory
log_filename
log_rotation_age	
log_rotation_size

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM