• PostgreSQL数据库体系结构


    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:后台进程。维持数据库正常运转的进程。例如检查点进程,归档进程等等                

    • BGW:background writer进程:主要负责后台刷新脏页
    • Sysloger:主要负责数据库状态的信息日志记录
    • CKPT:checkpointer进程:检查点
    • WALW:walwriter进程:wal日志的刷写
    • ARCH:wal日志的归档日志
    • AV:autovacuum launcher进程:数据整理,mysql是索引组织表,postgresql和oracle都是堆表。oracle有undo存放旧版本的数据,而postgresql表中存放了多个版本的数据。所以需要autovacuum launcher进程进行数据整理
    • SC:stats collector进程:统计信息收集进程
    • logical replication launcher进程:复制同步相关                                  

    一、pg的内存结构

    二、pg的进程结构

    $PGDATA目录下postmaster.pid这个文件记录了主进程的相关信息

  • 相关阅读:
    两个队列实现一个栈
    Adobe Photoshop 基本操作
    MySQL优化
    H2数据库--转载
    (yum+内网)centos7两种方式安装jdk11
    华为od机试计算误码率(Java)
    JS——Math 数学函数、toFixed 保留小数位
    4.3全局描述符表
    物联网毕设 --(STM32f407连接云平台检测数据)
    R语言 线性回归的有关方法
  • 原文地址:https://blog.csdn.net/lltfjsy/article/details/128202237