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 :组提交个数的最少个数,此参数上面已经进行说明