logo资料库

PostgreSQL数据库内核分析.pdf

第1页 / 共451页
第2页 / 共451页
第3页 / 共451页
第4页 / 共451页
第5页 / 共451页
第6页 / 共451页
第7页 / 共451页
第8页 / 共451页
资料共451页,剩余部分请下载后查看
书名
第1章 PostgreSQL系统概述
1.1 PostgreSQL简介及发展历程
1.2 PostgreSQL的特性
1.3 PostgreSQL的应用
1.4 PostgreSQL代码结构
1.5 安装PostgreSQL
1.6 PostgreSQL数据库命令
第2章 PostgreSQL的体系结构
2.1 系统表
2.1.1 主要系统表功能及依赖关系
2.1.2 系统视图
2.2 数据集簇
2.2.1 initdb的使用
2.2.2 postgres.bki
2.2.3 initdb的执行过程
2.2.4 系统数据库
2.3 PostgreSQL进程结构
2.4 守护进程Postmaster
2.4.1 初始化内存上下文
2.4.2 配置参数
2.4.3 创建监听套接字
2.4.4 注册信号处理函数
2.4.5 辅助进程启动
2.4.6 装载客户端认证文件
2.4.7 循环等待客户连接请求
2.5 辅助进程
2.5.1 SysLogger系统日志进程
2.5.2 BgWriter后台写进程
2.5.3 WalWriter预写式日志写进程
2.5.4 PgArch预写式日志归档进程
2.5.5 AutoVacuum系统自动清理进程
2.5.6 PgStat统计数据收集进程
2.6 服务进程Postgres
2.6.1 初始化内存环境
2.6.2 配置运行参数和处理客户端传递的GUC参数
2.6.3 设置信号处理和信号屏蔽
2.6.4 初始化Postgres的运行环境
2.6.5 创建内存上下文并设置查询取消跳跃点
2.6.6 循环等待处理查询
2.6.7 简单查询的执行流程
2.7 小结
第3章 存储管理
3.1 存储管理器的体系结构
3.2 外存管理
3.2.1 表和元组的组织方式
3.2.2 磁盘管理器
3.2.3 VFD机制
3.2.4 空闲空间映射表
3.2.5 可见性映射表
3.2.6 大数据存储
3.3 内存管理
3.3.1 内存上下文概述
3.3.2 高速缓存
3.3.3 缓冲池管理
3.3.4 IPC
3.4 表操作与元组操作
3.4.1 表操作
3.4.2 元组操作
3.5 VACUUM机制
3.5.1 VACUUM操作
3.5.2 Lazy VACUUM
3.5.3 Full VACUUM
3.6 ResourceOwner资源跟踪
3.7 小结
第4章 索引
4.1 概述
4.1.1 索引方式
4.1.2 索引类型
4.1.3 索引相关系统表
4.1.4 索引的操作函数
4.2 B-Tree索引
4.2.1 B-Tree索引的组织结构
4.2.2 B-Tree索引的操作
4.3 Hash索引
4.3.1 Hash索引的组织结构
4.4 GiST索引
4.4.1 GiST的扩展性
4.4.2 GiST索引的组织结构
4.4.3 GiST索引的实现
4.4.4 GiST索引实例
4.5 GIN索引
4.5.1 GIN索引的扩展性
4.5.2 GIN索引的组织结构
4.5.3 GIN索引的操作
4.6 TSearch2全文搜索
4.6.1 全文搜索的创建
4.6.2 全文搜索的查询
4.6.3 查询结果处理
4.7 小结
第5章 查询编译
5.1 概述
5.2 查询分析
5.2.1 Lex和Yacc简介
5.2.2 词法和语法分析
5.2.3 语义分析
5.3 查询重写
5.3.1 规则系统
5.3.2 查询重写的处理操作
5.4 查询规划
5.4.1 总体处理流程
5.4.2 预处理
5.4.3 生成路径
5.4.4 生成可优化的MIN/MAX聚集计划
5.4.5 生成普通计划
5.4.6 生成完整计划
5.4.7 整理计划树
5.4.8 实例分析
5.5 代价估计
5.5.1 代价估算公式
5.5.2 选择度
5.5.3 单个表的扫描代价
5.5.4 两个表的连接代价
5.6 PostgreSQL的遗传算法
5.6.1 个体编码方式及种群初始化
5.6.2 适应值
5.6.3 父体选择策略
5.6.4 杂交算子
5.6.5 变异算子
5.6.6 终止条件
5.6.7 基于排列生成路径
5.6.8 实例分析
5.7 小结
第6章 查询执行
6.1 查询执行策略
6.1.1 可优化语句和数据定义语句
6.1.2 四种执行策略
6.1.3 策略选择的实现
6.1.4 Portal执行的过程
6.2 数据定义语句执行
6.2.1 数据定义语句执行流程
6.2.2 执行实例
6.2.3 主要的功能处理器函数
6.3 可优化语句执行
6.3.1物理代数与处理模型
6.3.2 物理操作符的数据结构
6.3.3 执行器的运行
6.3.4 执行实例
6.4 计划节点
6.4.1 控制节点
6.4.2 扫描节点
6.4.3 物化节点
6.4.4 连接节点
6.5 其他子功能介绍
6.5.1 元组操作
6.5.2 表达式计算
6.5.3 投影操作
6.6 小结
第7章 事务处理与并发控制
7.1 事务系统简介
7.2 事务系统的上层
7.2.1 事务块状态
7.2.2 事务块操作
7.3 事务系统的底层
7.3.1 事务状态
7.3.2 事务操作函数
7.3.3 简单查询事务执行过程实例
7.4 事务保存点和子事务
7.4.1 保存点实现原理
7.4.2 子事务
7.5 两阶段提交
7.5.1 预提交阶段
7.5.2 全局提交阶段
7.6 PostgreSQL的并发控制
7.7 PostgreSQL中的三种锁
7.7.1 SpinLock
7.7.2 LWLock
7.7.3 RegularLock
7.8 锁管理机制
7.8.1 表粒度的锁操作
7.8.2 页粒度的锁操作
7.8.3 元组粒度的锁操作
7.8.4 事务粒度的锁操作
7.8.5 一般对象的锁操作
7.9 死锁处理机制
7.9.1 死锁处理相关数据结构
7.9.2 死锁处理相关操作
7.10 多版本并发控制
7.10.1 MVCC相关数据结构
7.10.2 MVCC相关操作
7.10.3 MVCC与快照
7.11 日志管理
7.11.1 SLRU缓冲池
7.11.2 CLOG日志管理器
7.11.3 SUBTRANS日志管理器
7.11.4 MULTIXACT日志管理器
7.11.5 XLOG日志管理器
7.11.6 日志管理器总结
7.12 小结
第8章 数据库安全
8.1 PostgreSQL安全简介
8.2 用户标识和认证
8.2.1 客户端配置文件
8.2.2 认证方法
8.2.3 客户端认证
8.3 基于角色的权限管理
8.3.1 用户和角色
8.3.2 角色相关的系统表
8.3.3 角色管理
8.4 对象访问控制
8.4.1 访问控制列表
8.4.2 对象权限管理
8.4.3 对象权限检查
8.5 小结
附录A 用Eclipse开发和调试PostgreSQL
A.1 安装Eclipse
A.2 配置代码
A.3 导入代码
A.4 开发与调试
A.4.1 新建“Make Target”
A.4.2 尝试运行数据库
A.4.3 调试数据库代码
A.4.4 服务进程调试
A.5 小结
分享到:
收藏