PostgreSQL 采用的是 多进程架构(而非多线程)。当你启动 PostgreSQL 时,首先会启动一个主进程(通常称为 ,早期版本称为 ),然后由这个主进程 fork(派生)出多种负责不同任务的后台进程。 这些后台进程负责管理内存、磁盘 I/O、日志、清理垃圾数据以及处理复制等核心任务。以下是 PostgreSQL 中最常见的核心后台进程及其详细说明: 1. 核心后台进程 1.1 Checkpointer(检查点进程) 作用:定期将“共享缓冲区(Shared Buffers)”中的“脏页(Dirty Pages,即被修改过但尚未写入磁盘的数据)”刷入磁盘。 机制:当执行检查点时,它会在预写式日志(WAL)中记录一个标记,表明在这个点之前的所有数据都已经安全落盘。 意义:一旦数据库崩溃,重启恢复时只需要从最近的检查点开始重放 WAL 即可,从而大大缩短数据库崩溃后的恢复时间(Crash Recovery Time)。 1.2 Background Writer / bgwriter(后台写进程) 作用:也是将共享缓冲区中的脏页写入磁盘,但它的工作方式与 Checkpointe...