文档地址
http://www.postgresql.org/docs/8.3/static/runtime-config-wal.html
今天又看了下里面的一些参数,下面附上一些个人的理解
fsync (boolean)
一般设置为on,保证写磁盘操作无论成功或者失败系统都能保持一致性
synchronous_commit (boolean)
一般设置为off,它只是说明了客户端在执行了commit以后是否需要等待WAL日志写入磁盘再返回,而真正的写操作是由fsync控制的。因此不会像fsync那样可能会造成不一致的情况。
wal_sync_method (string)
一些fsync会用到的写WAL日志到磁盘的函数。
full_page_writes (boolean)
是否以整页为单位来写WAL日志。如果是以row-level来写日志的话,有可能会造成一个页里面包含新、旧两种数据。
wal_buffers (integer)
shared memory中供WAL使用的内存大小。
wal_writer_delay (integer)
设置每次WAL WRITER把日志写入到磁盘的间隔时间,以毫秒为单位。
commit_delay (integer)
用户commit和WAL日志真正写入到磁盘之间的时间间隔,微秒为单位。这样可以使多个事务的commit在一次fsync()调用中就完成WAL到日盘的写入。
commit_siblings (integer)
指定commit_delay参数生效时最小的并发事务数。
一般设置为on,保证写磁盘操作无论成功或者失败系统都能保持一致性
synchronous_commit (boolean)
一般设置为off,它只是说明了客户端在执行了commit以后是否需要等待WAL日志写入磁盘再返回,而真正的写操作是由fsync控制的。因此不会像fsync那样可能会造成不一致的情况。
wal_sync_method (string)
一些fsync会用到的写WAL日志到磁盘的函数。
full_page_writes (boolean)
是否以整页为单位来写WAL日志。如果是以row-level来写日志的话,有可能会造成一个页里面包含新、旧两种数据。
wal_buffers (integer)
shared memory中供WAL使用的内存大小。
wal_writer_delay (integer)
设置每次WAL WRITER把日志写入到磁盘的间隔时间,以毫秒为单位。
commit_delay (integer)
用户commit和WAL日志真正写入到磁盘之间的时间间隔,微秒为单位。这样可以使多个事务的commit在一次fsync()调用中就完成WAL到日盘的写入。
commit_siblings (integer)
指定commit_delay参数生效时最小的并发事务数。
相关文章地址
http://www.cnblogs.com/daduxiong/archive/2010/09/28/1837682.html http://www.cnblogs.com/daduxiong/archive/2010/09/30/1839533.html
原文链接:https://www.f2er.com/postgresql/196975.html