后台写进程

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

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

后台写进程是在 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 内部

另请参阅

检查点进程

反馈

提交您对“后台写进程”的任何评论、建议或更正 此处