Postgresql数据库体系结构

  • 时间:
  • 浏览:0
  • 来源:神彩快3_彩神快3官方

服务器线程postmaster

后台工作线程

pg postgres [local] idle--本地登陆线程

logger process--日志挂接线程,将日志信息输出到日志文件

pg postgres 192.168.6.1(53171) idle--远程登陆线程

pg postgres 192.168.6.1(51846) idle intransaction--远程登陆线程,线程中事务未完成

本地内存区

archiver process--归档线程,归档wal日志

后端线程

PostgreSQL是另一一4个 client/server架构rdbms,另一一4个 服务器上运行多个线程。

shared buffer pool

WAL buffer

共享内存区

logical replication,wal sender process等许线程backed process--后端线程求,用来除理客户端连接请服务

commit log--存放事务状态



Postgres Server Process(postmaster)--pg的主线程,也是父线程,后端线程和后台工作线程前会 由server process fork派生出来;共同具有监听的功能

Background Processes--后台工作线程,实现数据库的功能及管理

temp_buffers--存储临时表

work_mem

maintenance_work_mem

commit log

客户端线程申请连接数据库,postmaster监听连接,通过连接认证后,fork出后台线程backend process代替客户端线程操作数据库

temp_buffers

checkpointer process--检查点线程,执行检查点

writer process--后台写线程,将shared buffer中的数据写入磁盘

start数据库后,首先启动Postgres Server Process(postmaster),许多分配共享内存,分配内存后启动前要的后台工作线程,postmaster监听另一一4个 端口,守候客户端连接请求

stats collector process--统计信息挂接进(pg_stat_database、pg_stat_activity)

autovacuum launcher process--自动清理线程,清理版本数据,向postmaster主线程申请调用autovacuum线程

wal writer process--后台wal日志写线程,将walbuffer中的日志流写入磁盘

shared buffer pool--存放page,数据库所有操作前会 此内存完成

WAL buffer--存放wal日志流

work_mem--用于存放排序和hash结果

maintenance_work_mem--管理工作使用的内存,如VACUUM