PostgreSQL 10 0 的三種日誌

2021-09-19 20:21:58 字數 1132 閱讀 9372

當前使用版本為postgresql

[postgres@localhost ~]$ psql

psql (10.7)

網路上還存在大量的帖子,關於pg_log,xlog,clog

剛剛接觸pg的我一直沒有找到這些目錄,查資料發現,從pg 10.0開始,目錄的名稱已經更改

pg_xlog ---- pg_wal (wal 日誌,即重做日誌) 強制開啟

pg_clog ---- pg_xact (事務提交日誌,記錄的是事務的元資料) 內容一般不具有可讀性 強制開啟

pg_log ---- log pg_log(資料庫執行日誌) 內容可讀 預設關閉的,需要設定引數啟動

wal機制實際是在這個寫資料的過程中加入了對應的寫wal log的過程,步驟一樣是先到buffer,再重新整理到disk。

change發生時:

先將變更後內容記入wal buffer

再將更新後的資料寫入data buffer

commit發生時:

wal buffer重新整理到disk

data buffer寫磁碟推遲

checkpoint發生時:

將所有data buffer重新整理到磁碟

pg_xact這個目錄下的檔案也是事務日誌檔案,但與pg_wal不同的是它記錄的是事務的元資料(metadata),這個日誌告訴我們哪些事務完成了,哪些沒有完成。這個日誌檔案一般非常小,但是重要性也是相當高,不得隨意刪除或者對其更改資訊。

這個日誌一般是記錄伺服器與db的狀態,比如各種error資訊,定位慢查詢sql,資料庫的啟動關閉資訊,發生checkpoint過於頻繁等的告警資訊,諸如此類

相當於oracle 的alert日誌,記錄的資訊要更詳細。

當資料庫出問題時,首先就要檢視這個日誌

postgresql永續性優化機制——wal

postgresql 的三種日誌

最近在模擬主備切換,備機可以成功切換成主機,但是主機未成功切換成備機,翻閱資料後發現是日誌歸檔設定的問題。情景描述 主從複製,模擬主機當掉,主從切換。從機成功切換為主機,但主機切換為從機後服務無法啟動,檢視日誌後,報如下錯誤 error requested wal segment 000000020...

PostgreSQL 三 資料庫的基本操作

3.1 建立資料庫 例3.1 建立乙個資料庫名稱為sample db,資料庫的屬性引數採用預設的設定。create database sample db 3.2 修改資料庫屬性 例3.2 修改test資料庫的名字和擁有者,輸入語句如下 alter database mytest rename to ...

網路面試100問(三)

目錄 21 如何實現 vlan 間通訊?有幾種方法?22 什麼是衝突域?什麼廣播域?23 簡述stp 802.1d 的作用及工作原理,rstp 802.1w 收斂速度為什麼比802.1d快?24 mstp原理?25 生成樹有什麼缺點?你知道有哪些技術可以彌補這些缺點?26 簡述傳統的多層交換與基於 ...