1.c/s结构
client/server结构
2.体系结构概览
体系结构=实例+存储结构
实例=进程+内存结构 (干活的人+干活的地方)
3.实例结构
post master: 提供连接协议(默认提供socket协议和tcp/ip协议)、监听、验证、fork其他进程(例如fork session processes进程)。
SP: server processes或session processes:会话进程。
BP: backgroudd process:后台进程。
SGA:共享缓存区
PGA:私有缓存区
4.进程结构
post master: 提供连接协议(默认提供socket协议和tcp/ip协议)、监听、验证、fork其他进程(例如fork session processes进程)。监听哪个ip是受到postgresql.conf配置文件的影响;验证功能是受pg_hba.conf和用户模块影响。
SP: server processes或session processes:会话进程。用户一旦验证成功,就会fork一个新的session process。 不仅仅跟客户端进行连接,也负责sql的处理。 每个用户的这个进程独立进行管理,每个会话有独立的内存区域即PGA。
BP: backgroudd process:后台进程。维持数据库正常运转的进程。例如检查点进程,归档进程等等
一、pg的内存结构
二、pg的进程结构
$PGDATA目录下postmaster.pid这个文件记录了主进程的相关信息