进程概述
PostgreSQL 系统的主要功能都集中于 Postgres 程序,其入口是 Main 模块中的 main 函数,在初始化数据集簇、启动数据库服务时,都将从这里开始执行。
PostgreSQL 使用一种专用服务器进程体系结构,其中最主要的两个进程就是守护进程 Postmaster 和服务进程 Postgres 。从本质上来说,Postmaster 和 Postgres 都是通过载入 Postgres 程序而形成的进程,只是在运行时所处的分支不同而已。守护进程 Postmaster 负责整个系统的启动和关闭。它监听并接受客户端的连接请求,为其分配服务进程 Posgres 。服务进程 Postgres 接受并执行客户端发送的命令。它在底层模块(如存储、事务管理、索引等)之上调用各个主要的功能模块(如编译器、优化器、执行器等),完成客户端的各种数据库操作,并返回执行结果。
PostgreSQL 守护进程 Postmaster 除为用户连接请求分配后台Postgres 服务进程外,还将启动相关的后台辅助进程: