1. 程式人生 > >postgresql wal日誌部分引數

postgresql wal日誌部分引數

fsync

fsync :控制wal日誌重新整理是否開啟重新整理到磁碟,此引數控制wal_sync_method引數的重新整理方法,如果fsync為off,則wal_sync_method的方法是沒有意義的,
如果沒開啟這個引數,則可能由於wal日誌塊沒有重新整理到磁碟永久儲存而導致故障發生後例項出現塊折斷(oracle稱其為block curruption)

wal_sync_method

wal_sync_method :wal日誌重新整理方法,可選值為open_datasync/fdatasync/fsync/fsync_writethrough/open_sync
linux系統預設為fdatasync,以open開頭的在某些系統上不支援

wal_buffers

wal_buffers :wal緩衝區,預設為-1,大小為1/32的shared_buffer,最小不少於64k,最大不大於一個wal_segment(預設16M大小),一般保持預設即可,因為過了wal_writer_delay(預設200ms)總會重新整理清空此快取,設定太大了也用不上.

wal_writer_delay

wal_writer_delay:前面已經說過,這有點類似oracle和mysql的1s定時寫日誌策略,每隔這麼長時間就會刷wal日誌緩衝區的資料,然後sleep,到點後再刷,如此迴圈往復.

commit_delay

commit_delay :提交的延遲時間,如果設定了此引數,則會commit後延遲一段時間再進行提交,此機制可以合併其他事務進而一起進行組提交,不過合併的事務數是有限制的,要至少有commit_siblings引數個事務等待提交的時候才會延遲,所有當有大量事務的時候會延遲,而如果事務很稀少就不會再被延遲了.

commit_siblings

commit_siblings :組提交個數的最少個數,此引數上面已經進行說明