10 教育与认证
文档
阅读文档对于专业使用 PostgreSQL 不可或缺。文档介绍数据库的全部功能,并提供一份应始终随手可查的详尽参考。在这里,你可以直接获得完整而准确的信息:文档由开发者亲自编写,并始终认真保持最新。PostgreSQL 文档见 www.postgresql.org/docs 或 postgrespro.com/docs。
Postgres Professional 已将整套 PostgreSQL 文档(包括最新版本)翻译成俄文,见其网站:postgrespro.ru/docs。
在翻译过程中,我们还编制了英俄术语表,发布于 postgrespro.ru/education/glossary。将英文文章翻译成俄文时,建议查阅这份术语表,以使用广大读者熟悉且保持一致的术语。
此外,各国社区还提供了法文(docs.postgresql.fr)、日文(www.postgresql.jp/document)和中文(postgres.cn/docs)翻译。
培训课程
我们为刚开始使用 PostgreSQL 或希望提升专业技能的人开发培训课程。
数据库管理员课程:
应用开发者课程:
为完成管理和开发课程的人员提供的一门关于我们主要产品的附加课程:
PostgreSQL 和 Postgres Pro 文档包含 PostgreSQL 的所有细节,但信息往往分散在不同章节中,因此需要仔细阅读数遍才能完全理解。
培训课程旨在补充文档,而不是取代文档。课程由相互独立的模块组成,逐步讲解特定主题,重点介绍重要的实践信息。课程可以拓宽视野、整理此前获得的零散知识,并帮助你在需要快速查找某个细节时熟悉文档的组织方式。
每个课程主题都包括理论与实践。多数情况下,理论部分既包括幻灯片,也包括在真实系统上的现场演示。学员会收到带有大量注释的全部课程幻灯片、演示脚本的输出、实践作业的解答,以及某些主题的额外参考资料。
培训地点和方式
非商业使用和自学时,包括视频在内的全部课程材料都可在我们的网站上免费获取。俄文版本见 postgrespro.ru/education/courses。
目前已经翻译成英文的课程发布在 postgrespro.com/community/courses。
你也可以在专业培训中心参加这些课程,由经验丰富的讲师指导。完成课程后,你将获得结业证书。授权培训中心列表见 postgrespro.ru/education/where。
DBA1:PostgreSQL 基础管理
学习时长:3 天
所需背景知识:
具备数据库和 SQL 基础知识,熟悉 Unix。
获得的知识与技能:
了解 PostgreSQL 架构;安装、初始设置和服务器管理;逻辑结构与物理数据布局;基本管理任务;用户与访问管理;备份、恢复和复制。
主题:
基础工具
- 安装和服务器管理
- 使用 psql
- 配置
架构
- PostgreSQL 概览
- 隔离与多版本并发控制
- 清理
- 缓冲区缓存与预写式日志
数据管理
- 数据库与模式
- 系统目录
- 表空间
- 底层原理
管理任务
- 监控
访问控制
- 角色与属性
- 权限
- 行级安全
- 连接与身份验证
备份
- 概览
复制
- 概览
英文课程材料可在 postgrespro.com/community/courses/DBA1 免费获取,用于自学。
DBA2:配置和监控 PostgreSQL
学习时长:4 天
所需背景知识:
SQL 基础。熟练使用 Unix 操作系统。在 DBA1 课程范围内熟悉 PostgreSQL。
获得的知识与技能:
基于对服务器内部机制的理解设置各种配置参数。监控服务器活动,并利用收集的数据反复调优 PostgreSQL 配置。配置本地化设置。管理扩展并开始进行服务器升级。
主题:
多版本并发控制
- 事务隔离
- 页与行版本
- 数据快照
- HOT 更新
- 清理
- 自动清理与元组冻结
日志
- 缓冲区缓存
- 预写式日志
- 检查点
- WAL 配置
锁
- 对象锁
- 行级锁
- 内存锁
管理任务
- 管理扩展
- 本地化
- 服务器升级
俄文课程材料可在 postgrespro.ru/education/courses/DBA2 免费获取,用于自学。
DBA3:复制与备份
学习时长:2 天
所需背景知识:
SQL 基础。熟练使用 Unix 操作系统。在 DBA1 课程范围内熟悉 PostgreSQL。
获得的知识与技能:
进行备份;设置物理复制和逻辑复制;识别复制的适用场景;了解集群技术。
主题:
备份
- 逻辑备份
- 基础备份
- WAL 归档
复制
- 物理复制
- 切换到副本
- 逻辑复制
- 使用场景
集群技术
- 概览
俄文课程材料可在 postgrespro.ru/education/courses/DBA3 免费获取,用于自学。
DEV1:基础服务器端应用开发
学习时长:4 天
所需背景知识:
SQL 基础。具备任意过程式编程语言的使用经验。具备 Unix 操作系统基础知识。
获得的知识与技能:
了解 PostgreSQL 架构概况。使用主要数据库对象。在服务器端使用 SQL 和 PL/pgSQL 编程。使用主要数据类型,包括记录和数组。设置客户端与服务器之间的通信通道。
主题:
基础工具
- 安装和服务器管理、psql
架构
- PostgreSQL 概览
- 隔离与 MVCC
- 缓冲区缓存与 WAL
数据组织
- 逻辑结构
- 物理结构
书店应用
- 应用模式与接口
SQL
- 函数
- 过程
- 复合类型
PL/pgSQL
- 概览与编程结构
- 执行查询
- 游标
- 动态命令
- 数组
- 错误处理
- 触发器
- 调试
访问控制
- 访问控制概览
备份
- 逻辑备份
英文课程材料可在 postgrespro.com/community/courses/DEV1 免费获取,用于自学。
DEV2:高级服务器端应用开发
学习时长:4 天
所需背景知识:
了解 PostgreSQL 架构概况。熟练掌握 SQL 和 PL/pgSQL。具备 Unix 操作系统基础知识。
获得的知识与技能:
了解服务器内部机制。在应用逻辑实现中使用 PostgreSQL 的全部能力。扩展数据库功能以解决特定任务。
主题:
架构
- 隔离
- 服务器内部机制
- 清理
- 预写式日志
- 锁
书店
- 书店应用 2.0
可扩展性
- 连接池
- 大值数据类型
- 用户定义数据类型
- 操作符类
- 半结构化数据
- 后台进程
- 异步处理
- 创建扩展
- 编程语言
- 聚合函数与窗口函数
- 全文检索
- 物理复制
- 逻辑复制
- 外部数据
俄文课程材料可在 postgrespro.ru/education/courses/DEV2 免费获取,用于自学。
QPT:查询性能调优
学习时长:2 天
所需背景知识:
熟悉 Unix 操作系统,熟练掌握 SQL。了解一些 PL/pgSQL 会有帮助,但不是必需条件。在 DBA1 课程(面向数据库管理员)或 DEV1 课程(面向开发者)的范围内熟悉 PostgreSQL。
获得的知识与技能:
深入理解查询规划与执行。调优服务器实例的性能。排查查询问题并优化查询。
主题:
航空公司数据库
查询执行
顺序扫描
索引扫描
位图扫描
嵌套循环连接
哈希连接
归并连接
统计信息
查询剖析
优化方法
俄文课程材料可在 postgrespro.ru/education/courses/QPT 免费获取,用于自学。
PGPRO:Postgres Pro Enterprise 特性
学习时长:2 天
所需背景知识:
熟悉 Unix 操作系统,熟练掌握 SQL。了解一些 PL/pgSQL 会有帮助,但不是必需条件。
在 DBA1、DBA2 和 QPT 课程(面向数据库管理员)或 DEV1、DEV2 和 QPT 课程(面向开发者)的范围内熟悉 PostgreSQL。
获得的知识与技能:
熟练掌握 Postgres Pro Enterprise 的特色功能。
主题:
版本与特性
安装、配置、升级
事务管理
CFS——压缩文件系统
查询优化
自适应优化
性能分析
负载报告——pgpro_pwr
用户配置文件
审计
任务规划器
备份——1
备份——2
备份——3
同步集群——多主
俄文课程材料可在 postgrespro.ru/education/courses/PGPRO 获取,用于自学。
专业认证
2019 年启动的认证项目对数据库专业人员及其雇主都有帮助。持有证书可以让你在求职或协商薪资时获得优势,也为客观评估自己的知识提供了良好机会。
对于雇主,认证项目有助于招聘,能够核验现有员工的 PostgreSQL 专业能力,还可以帮助把关员工参加外部培训后的学习成效,或检查第三方供应商和合作伙伴的能力。
目前 PostgreSQL 认证仅面向数据库管理员;未来我们还计划为 PostgreSQL 应用开发者推出认证项目。
我们提供三个认证级别,每个级别都要求通过若干项测试。
Professional 级别确认以下领域的知识:
对 PostgreSQL 架构的总体理解。
服务器安装、使用 psql 以及调优配置设置。
逻辑结构和物理数据结构。
用户与访问管理。
对备份和复制概念的总体理解。
要获得证书,必须成功通过 DBA1 课程测试。对于新申请者,建议选择 PostgreSQL 13 测试版本。
Expert 级别还确认以下领域的知识:
PostgreSQL 内部原理。
服务器设置和监控、数据库维护任务。
性能优化任务、查询调优。
进行备份。
针对各种使用场景设置物理复制和逻辑复制。
有两条认证路径:
获得 PostgreSQL 13 的 Professional 级别认证,并通过 DBA2-13、DBA3-13 和 QPT-13 测试(顺序不限)。
获得 PostgreSQL 10 的 Expert 级别认证,并通过过渡测试 Expert 10–13。
Master 级别还确认 PostgreSQL 数据库管理所需的实践技能。
要获得证书,必须持有 Expert 级别证书并成功通过实践测试。该认证目前仍在开发中。
在 postgrespro.ru/user 创建账户,并在个人资料中报名认证测试。
要通过测试,你应:
熟练掌握相应课程及其所指向的文档章节;
具备通过 psql 使用 PostgreSQL 的实践经验。
测试期间可以查阅我们的课程材料和 PostgreSQL 文档,但禁止使用任何其他信息来源。
达到某个级别后会获得相应证书。证书不会过期,但与特定 PostgreSQL 版本绑定;该版本弃用后,证书也会失去时效。因此,几年后你可能会希望参加更新版本 PostgreSQL 的测试。
有关认证的更多信息,请访问 postgrespro.ru/education/cert。
学术合作
我们公司致力于培养下一代数据库专家。这需要从教育的最早阶段开始努力,而这只有通过与大学、学院和学校合作才能实现。
学术许可证
我们为教育机构提供 Postgres Pro Standard 数据库管理系统的免费学术许可证。申请请发送邮件至 academy@postgrespro.ru。
学生实习
我们在大学设立学生实验室,为学生提供实习机会。我们的专家帮助学生选择与 PostgreSQL 相关的毕业论文,协助他们完成并答辩。
竞赛
我们公司参与组织面向中学生和大学生的黑客松及各种竞赛,包括:
IT-Planet 竞赛中的“Postgres Pro DBMS”赛区:challenge.braim.org/landing/postgres_contest
俄罗斯全国开源项目竞赛:foss.kruzhok.org。
由本公司主办或参与举办的竞赛中获奖或进入决赛的学生,以及合作大学的讲师,可以免费参加专业认证测试。要获得免费认证测试代码,请发送邮件至 certification@postgrespro.ru,并附上证明文件。
学术课程
我们与知名大学的教授合作开发了若干学术课程。所有课程都可以免费用于教育机构。讲师可以使用教材、幻灯片、课程视频及其他发布在我们网站上的教育材料:postgrespro.ru/education/university。
Postgres Professional 参与了莫斯科国立罗蒙诺索夫大学、国立高等经济大学、莫斯科航空学院、列舍特涅夫西伯利亚国立科学技术大学和西伯利亚联邦大学的多门课程。若你是大学代表,希望将数据库课程加入培养方案,欢迎联系我们。
我们也寻求与愿意开发原创 PostgreSQL 课程的教师和讲师合作。我们会提供所需的支持和建议,编辑稿件并推动其出版,还会为课程作者在俄罗斯顶尖大学举办公开讲座做好安排。
SQL 基础
课程学员将学习 PostgreSQL,并能够立即开始使用;无需预先培训。从简单的 SQL 查询开始,学员会逐步学习更复杂的结构,了解事务和查询优化。
本课程以以下(俄文出版的)教材为基础:
E. Morgunov,PostgreSQL:SQL 基础(PostgreSQL. SQL Basics)。圣彼得堡:BHV-Petersburg,2018。
ISBN 978-5-9775-4022-3

目录:
引言
配置环境
基本操作
数据类型
DDL 基础
查询
数据操作
索引
事务
性能调优
本书的俄文电子版可在我们的网站上获取:postgrespro.ru/education/books/sqlprimer。
本课程包括 36 小时讲座和实践培训。作者多年来一直在莫斯科和克拉斯诺亚尔斯克的顶尖大学讲授这门课程。俄文课程材料可从 postgrespro.ru/education/university/sqlprimer 下载。

Evgeny Morgunov,技术科学博士,列舍特涅夫西伯利亚国立科学技术大学信息学与计算机科学系副教授。
Evgeny 居住在克拉斯诺亚尔斯克。2000 年加入大学之前,他做了十多年程序员,期间参与开发银行应用系统。他于 1998 年开始学习 PostgreSQL。他倡导在学术活动中使用自由开源软件,并发起在“编程技术”课程中使用 PostgreSQL 和 FreeBSD 操作系统。Evgeny 是国际工程教育学会(IGIP)成员。他在教学中使用 PostgreSQL 已超过 20 年。
数据库技术基础
这是一门将数据库设计与部署的深入理论和相关实践技能结合起来的现代学术课程。
B. Novikov、E. Gorshkova 和 N. Grafeeva,数据库技术基础(Database Technology Fundamentals)。第 2 版。莫斯科:DMK Press,2020。
ISBN 978-5-97060-841-8

第一部分介绍数据库管理系统的关键信息:关系数据模型、SQL 语言和事务处理。
第二部分深入介绍底层数据库技术及其发展趋势。第一部分涉及的一些主题会在这里以更深的层次再次讨论。
目录:
第一部分:从理论到实践
引言
一些数据库理论
数据库入门
SQL 入门
数据库访问管理
事务与数据一致性
数据库应用开发
关系模型扩展
各种数据库系统类型
第二部分:从实践到熟练掌握
数据库系统架构
存储结构与主要算法
查询执行与优化
事务管理
数据库可靠性
高级 SQL 特性
数据库函数与过程
PostgreSQL 可扩展性
全文检索
数据安全
数据库管理
复制
并行与分布式数据库系统
本书的俄文电子版可在我们的网站上获取:postgrespro.ru/education/books/dbtech。
本课程包括 24 小时讲座和 8 小时实践培训。Boris Novikov 曾在莫斯科国立罗蒙诺索夫大学计算数学与控制论系讲授这门课程。俄文课程材料可从 postgrespro.ru/education/university/dbtech 下载。

Boris Novikov,物理与数学科学博士,圣彼得堡国立高等经济学院信息学系教授。
他的学术兴趣主要涉及数据库系统和应用的设计、开发与部署,以及用于大数据处理和分析的可扩展分布式系统的各个方面。
Ekaterina Gorshkova,物理与数学科学博士。
她是设计高负载数据密集型应用的专家。她的学术兴趣包括机器学习、数据流分析和数据检索。
Natalia Grafeeva,物理与数学科学博士,圣彼得堡国立大学信息学与数据分析系副教授。
她的学术兴趣包括数据库、数据检索、大数据和智能数据分析。她是信息系统设计、开发和维护以及课程设计与教学方面的专家。
书籍
PostgreSQL 内部原理
本书面向那些在使用数据库时不满足于黑盒方法的读者。目标读者是已经具备 PostgreSQL 使用经验的人;对于熟悉其他数据库系统、后来转向 PostgreSQL 并希望理解两者差异的人,本书同样有帮助。
E. Rogov,PostgreSQL 14 内部原理(PostgreSQL 14 Internals)。莫斯科:DMK Press,2022。
ISBN 978-5-6045970-4-0(英文版) ISBN 978-5-93700-305-8(俄文版)

本书不会提供现成的解决方案。但书中对内部机制的解释能帮助读者批判性地评估他人的经验,并得出自己的结论。作者深入介绍 PostgreSQL 内部原理,展示如何运行实验并验证那些不可避免会过时的信息。

Egor Rogov 自 2015 年起在 Postgres Professional 教育部门工作;他开发并讲授培训课程,发表博客文章,撰写和编辑书籍。
目录:
引言
第一部分:隔离与 MVCC
隔离 • 页与元组 • 快照 • 页内剪枝与 HOT 更新 • 清理与自动清理 • 冻结 • 重建表和索引
第二部分:缓冲区缓存与 WAL
缓冲区缓存 • 预写式日志 • WAL 模式
第三部分:锁
关系级锁 • 行级锁 • 杂项锁 • 内存结构上的锁
第四部分:查询执行
查询执行阶段 • 统计信息 • 表访问方法 • 索引访问方法 • 索引扫描 • 嵌套循环 • 哈希 • 排序与归并
第五部分:索引类型
哈希 • B-树 • GiST • SP-GiST • GIN • BRIN
本书的电子版可在我们的网站上获取:postgrespro.com/community/books/internals。
PostgreSQL 监控
监控是 PostgreSQL 管理的关键方面。本书涵盖这一主题,详细介绍可用工具、使用技巧以及处理所获信息的方法。
本书帮助读者了解 PostgreSQL 的运行和监控技术,从而优化数据库性能并有效应对管理方面的挑战。
A. Lesovsky,PostgreSQL 监控(PostgreSQL Monitoring)。莫斯科:Bumba,2024。
ISBN 978-5-907754-42-3

目录:
引言
关于本书
统计信息概览
活动统计
查询和函数执行
数据库
共享内存与输入/输出
预写式日志
复制
清理
操作执行过程
附录:测试环境

Alexey Lesovsky 是一名数据库管理员、系统管理员、开发者和 DevOps 工程师,在管理大型复杂系统以及软件设计与开发方面拥有近 20 年经验。
本书附带 Docker 环境,可用于测试示例和运行实验。对于数据库管理员、系统管理员、可靠性专家和性能优化爱好者来说,这是一本有趣的读物。
本书的俄文电子版可在我们的网站上获取:postgrespro.ru/education/books/monitoring。
数据库指南
本书概述了所有现代数据库管理系统的架构基础,并解释它们使用的算法和数据结构。书中特别关注功能相近的平台如何实现相同的原理。

对于那些不满足于“Software Engineering in Three Months”(“三个月学会软件工程”)课程的人,这是一本必读书。它通过帮助读者理解底层模式,补充纯粹的实践技能。本书面向软件架构师和高级开发者——面向精英,也面向希望跻身其中的人。
V. Komarov,数据库指南(A Database Guide)。莫斯科:DMK Press,2024。
ISBN 978-5-93700-287-7
本书的俄文电子版可在我们的网站上获取:postgrespro.ru/education/books/dbguide。

Vladimir Komarov 是一位 IT 通才:软件开发者、数据库管理员、数据与基础设施架构师、讲师,也算半个布道者。
目录:
第一部分:数据库分类
数据模型 • 额外分类标准
第二部分:数据访问
存储结构 • 数据处理
第三部分:数据库管理系统架构
数据一致性保证 • 数据库管理系统结构
第四部分:分布式数据库
分布式妥协 • 修改分布式数据
第五部分:恢复
复制 • 备份
第六部分:数据库运行
数据库管理 • 硬件 • 财务
第七部分:数据库安全
访问控制 • 内部威胁