您的位置:首页 > 数据库

postgresql中的wal和checkpoint

2011-04-07 12:35 363 查看
今天看了下postgresql中关于WAL和checkpoint部分的内容,又在网上搜到两篇相关文章,记录一下。

文档地址
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参数生效时最小的并发事务数。

相关文章地址
http://www.cnblogs.com/daduxiong/archive/2010/09/28/1837682.html http://www.cnblogs.com/daduxiong/archive/2010/09/30/1839533.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息