checkpoint_timeout (integer)
自動WAL 檢查點之間的最長時間,以秒計。 有效值在30秒和1天之間。 默認是 5 分鐘(5min)。 增加這個參數的值會增加崩潰恢復所需的時間。 這個參數只能在postgresql.conf文件中或在服務器命令行上設置。
checkpoint_completion_target (floating point)
指定檢查點完成的目標,作為檢查點之間總時間的一部分。默認是0.5。 這個參數只能在postgresql.conf文件中或在服務器命令行上設置。
checkpoint_flush_after (integer)
在執行檢查點時,只要有checkpoint_flush_after字節被寫入, 就嘗試強制 OS 把這些寫發送到底層存儲。 這樣做將會限制內核頁面高速緩存中的臟數據數量, 降低在檢查點末尾發出fsync或者 OS 在后臺大批量寫回數據時被卡住的可能性。 那常常會導致大幅度壓縮的事務延遲,但是也有一些情況 (特別是負載超過shared_buffers但小于 OS 頁面高速緩存) 的性能會降低。這種設置可能會在某些平臺上沒有效果。合法的范圍在 0(禁用強制寫回)和2MB之間。 Linux 上的默認值是256kB,其他平臺上是0 (如果BLCKSZ不是8kB,默認值和最大值會等比例縮放)。 這個參數只能在postgresql.conf文件中或者服務器命令行上設置。
checkpoint_warning (integer)
如果由于填充檢查點段文件導致的檢查點之間的間隔低于這個參數表示的秒數,那么就向服務器日志寫一個消息(它建議增加max_wal_size的值)。默認值是 30 秒(30s)。零則關閉警告。如果checkpoint_timeout低于checkpoint_warning,則不會有警告產生。這個參數只能在postgresql.conf文件中或在服務器命令行上設置。
max_wal_size (integer)
在自動WAL檢查點使得WAL增長到最大尺寸。這是軟限制;特殊情況下WAL大小可以超過 max_wal_size,如重負載下,錯誤archive_command,或者 較大wal_keep_segments的設置。缺省是1GB。增加這個參數會延長崩潰恢復所需要的時間。這個參數只能在postgresql.conf文件或者服務器命令行上設置。
min_wal_size (integer)
只要WAL磁盤使用率低于這個設置,舊的WAL文件總數被回收,以供將來檢查點使用。而不是刪除。這可以用來確保預留足夠的WAL空間處理WAL使用中的峰值,比如當運行大批量工作時。缺省是80MB。這個參數只能在postgresql.conf文件或者 服務器命令行上設置。