checkpoint process vs writer process vs wal writer process

开始

我目前的理解是:

如果我执行了一条SQL文,那么

先是相关数据写到  wal buffer里,

然后再写到 data  buffer(shared_buffer)里。

 

这之后,

由于wal writer process 的存在,就开始定期地读取 wal buffer的内容,然后写到 wal log中。

又由于 writer process 的存在在,开始定期地读取 data buffer 的内容,然后直接写到数据文件中。

而由于checkpoint_timeout 与 checkpoint_segments 的存在,checkpointer process会在合适的时候,

把 data buffer 中的内容,写到wal log中。

 

关于wal writer process,下面日文网站有所说明:

http://lets.postgresql.jp/documents/technical/sourcetree/

WAL ライタープロセス
WAL ライタープロセス (WAL writer process) は、共有メモリ上の WAL バッファを最適なタイミングでハードディスクに書出します。 これによって、バックエンドプロセスが自ら WAL バッファの書き出しを行なう負担を軽減し、パフォーマンスを向上させます。

 

结束

posted @ 2013-10-09 14:45  健哥的数据花园  阅读(490)  评论(0编辑  收藏  举报