PostgreSQL是多程架构的数据库管理系统,在启用SysLogger和PgArch功能后,其进程种类如图1:
图1
下面简单说明一下图1中各进程:
- /home/pg/db/bin/postgres -D data: 在PostgreSQL源码中称为Postmaster,它是所有其他进程的父进程;
- postgres: logger process: 在PostgreSQL中称为SysLogger(8.0),用于整个系统的日志输出;
- postgres: checkpointer process: 在PostgreSQL中称为Checkpointer(9.2),用于处理checkpoints;
- postgres: writer process: 在PostgreSQL中称为BgWriter,用于将脏页刷出到磁盘;
- postgres: wal writer process: 在PostgreSQL中称为WalWriter(8.3),处理预写日志输出;
- postgres: autovacuum launcher process: 在PostgreSQL中称为AutoVacuum(8.1),用于系统的自动清理;
- postgres: archiver process: 在PostgreSQL中称为PgArch,用于预写日志归档;
- postgres: stats collector process: 在PostgreSQL中称为PgStat,用于统计数据收集。
图2
图2来源:
http://wiki.postgresql.org/wiki/Pgsrcstructure