前置知识: PostgreSQL

体系架构

00:00
2 min Advanced 2026/6/14

PostgreSQL体系架构:进程模型、共享内存、本地内存、后台进程与数据目录结构

1. 进程模型

PostgreSQL 采用进程架构,每个客户端连接对应一个后端进程

1.1 核心进程

进程作用
postmaster进程,监听连接,fork后端进程
backend处理客户端查询
autovacuum launcher自动清理
autovacuum worker执行自动清理
WAL writer定期刷写 WAL 缓冲区
background writer定期刷写脏页到磁盘
checkpointer执行检查
stats collector收集统计信息
logical replicator逻辑复制

1.2 连接流程

客户端 → postmaster (监听5432) → fork backend进程 → 处理查询

2. 共享内存

2.1 主要共享内存区域

区域参数默认值说明
Shared Buffersshared_buffers128MB数据页缓存
WAL Bufferwal_buffers-1(自动)WAL 缓冲区
Commit Log事务状态缓存
Lock Table信息
-- 设置共享缓冲区
ALTER SYSTEM SET shared_buffers = '4GB';
-- 建议设为物理内存的 25%

3. 本地内存

区域参数默认值说明
Work Memwork_mem4MB排序/哈希操作内存
Maintenance Work Memmaintenance_work_mem64MBVACUUM/CREATE INDEX
Temp Bufferstemp_buffers8MB临时缓冲区
ALTER SYSTEM SET work_mem = '64MB';
ALTER SYSTEM SET maintenance_work_mem = '512MB';

4. 数据目录结构

$PGDATA/
├── base/           — 数据库文件
├── global/         — 共享系统表
├── pg_wal/         — WAL 日志
├── pg_xact/        — 事务提交日志
├── pg_stat/        — 统计信息
├── pg_stat_tmp/    — 临时统计
├── postgresql.conf — 配置文件
├── pg_hba.conf     — 认证配置
└── postmaster.pid  — 主进程PID

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式