后台写进程

负责将修改后的缓冲区写入磁盘的后台进程

后台写进程是一个独立的服务器进程,负责将“脏”(新的或修改的)缓冲区写入磁盘数据文件,以减少常规后端上的负载。

后台写进程是在 PostgreSQL 8.0 中添加的。

直到 PostgreSQL 9.2 它还负责处理 检查点

配置

目前以下配置项控制后台写进程的行为

  • bgwriter_delay (整数)
  • bgwriter_lru_maxpages (整数)
  • bgwriter_lru_multiplier (浮点数)
  • bgwriter_flush_after (整数)

bgwriter_lru_maxpages 设置为零实际上会禁用后台写进程。

有关更多详细信息,请参阅 后台写进程配置文档

统计

后台写进程本身写入的缓冲区数量记录在 pg_stat_bgwriter 视图的 "buffers_clean" 列中。

源代码

主要的后台写进程代码:src/backend/postmaster/bgwriter.c

实际的“繁重工作”是在 src/backend/storage/buffer/bufmgr.c 中完成的,特别是函数 BgBufferSync()

更改历史

正在开发中

分类

性能PostgreSQL 内部

参见

检查点写入进程

反馈

提交任何关于 "后台写进程" 的评论、建议或更正 此处