合 《PostgreSQL技术内幕——原理探索》第二章 进程和内存架构
Tags: PGPostgreSQL体系结构翻译《PostgreSQL技术内幕——原理探索》内存结构进程结构
本章总结了PostgreSQL中进程与内存的架构,有助于读者理解后续章节。 如果读者已经熟悉这些内容,可以直接跳过本章。
2.1 进程架构
PostgreSQL是一个客户端/服务器风格的关系型数据库管理系统,采用多进程架构,运行在单台主机上。
我们通常所谓的“PostgreSQL服务器(PostgreSQL Server)” 实际上是一系列协同工作的进程集合,包含着下列进程:
- postgres服务器进程(Postgres Server Process)是所有数据库集簇管理进程的父进程。
- 每个后端进程(Backend Process) 负责处理客户端发出的查询和语句。
- 各种后台进程(Background Process) 负责执行各种数据库管理任务(例如清理过程与检查点过程)。
- 各种复制相关(Replication Associated Process)的进程负责流复制,流复制的细节会在第11章中介绍。
- 后台工作进程(Background Worker Process) 在9.3版被引入,它能执行任意由用户实现的处理逻辑。这里不详述,请参阅官方文档。
以下几小节将详细描述前三种进程。
图2.1 PostgreSQL的进程架构示例
本图展示了PostgreSQL服务器包含的进程:postgres服务器进程,两个后端进程,七个后台进程,以及两个客户端进程。 也画出了数据库集簇,共享内存,以及两个客户端。
本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!