postgresql中wal日誌什麼時候會觸發歸檔

2021-07-29 02:33:41 字數 562 閱讀 2305

1.手動強制切換

[postgres@node2 data]$ psql

psql (9.6.1)

type "help" for help.

postgres=# select pg_switch_xlog();

pg_switch_xlog 

----------------

0/470000b0

(1 row)

2.wal日誌寫滿後會自動歸檔

wal日誌檔案預設為 16mb,這個值可以在編譯 postgresql 時通過引數 "--with-wal-segsize" 更改,編譯則後不能修改。

3.引數archive_timeout

在postgresql.conf 檔案中的引數archive_timeout,

如果設定archive_timeout=60s,意思是,wal日誌60s切換一次,同時會觸發日誌歸檔。

注:盡量不要把archive_timeout設定的很小,如果設定的很小,他會膨脹你的歸檔儲存,因為,你強制歸檔的日誌,即使沒有寫滿,也會是預設的16m(假設wal日誌寫滿的大小為16m)

postgresql減少wal日誌生成量的方法

1 在繁忙的系統中,如果需要降低checkpoint發生的頻率,減少wal日誌的生成量,減輕對系統io的壓力,可以通過以下兩種方法。1 調整wal segment大小,最高可以調整到64mb,不過只能通過編譯來調整。對於已有系統不太方便 2 增大checkpoint segments設定,使得che...

介紹資料庫中的wal技術 預寫日誌 WAL 介紹

預寫日誌 wal,write ahead log 是關係型資料庫中用於實現事務性和永續性的一系列技術。簡單來說就是,做乙個操作之前先講這件事情記錄下來。為什麼要使用wal呢?比如你的備忘錄裡面有如下記錄 2015.12.25 理髮 2015.12.28 整容 2015.12.31 修指甲 別亂想,博...

SQLite中的WAL機制詳細介紹

一 什麼是wal?wal的全稱是write ahead logging,它是很多資料庫中用於實現原子事務的一種機制,sqlite在3.7.0版本引入了該特性。二 wal如何工作?在引入wal機制之前,sqlite使用rollback journal機制實現原子事務。rollback journal機...