写这篇复盘的起因,是最近看到PCP(PostgreSQL认证专家)优秀学员表彰里一段很实在的总结。受表彰学员悦青春把备考收获归成三条:实战认知、优化思路、信创话语权。这三条恰好对应PostgreSQL工程师成长路上最容易"卡住"的三个地方,展开聊聊。
一、主从切换不是背命令:WAL和流复制才是钥匙
学员原话:"以前主从切换、备份恢复多是照文档敲命令,现在真正理解了WAL日志原理和流复制机制,遇到故障能快速定位,不再盲目重启。"
很多人第一次搭PostgreSQL主从,是照教程把流复制跑通的:改配置、起备库、验证同步。命令都对了,但心里没底——因为不清楚数据到底是怎么从主库到备库的。
这里的关键是WAL(预写式日志):事务的修改先顺序写入WAL日志,再落到数据文件。流复制的本质,就是备库持续拉取主库的WAL并回放。理解了这条主线,一串问题就通了:
◆ 备库为什么会有延迟?——回放速度跟不上WAL生成速度
◆ 主从切换为什么会丢数据?——异步复制下,主库崩溃时部分WAL还没传出去
◆ 备份恢复为什么离不开WAL?——基础备份加WAL回放,才能把实例恢复到任意时间点
故障定位的逻辑也一样:先看WAL生成与回放的差距,再判断是网络、磁盘还是回放单线程瓶颈。"盲目重启"和"快速定位"之间的差距,就是有没有把这条主线吃透。
二、SQL优化不止加索引:先读执行计划,再动手
学员原话:"以前调SQL只会加索引,现在能看懂执行计划,区分是优化器选错路径还是统计信息过期,做到'知其所以然'。"
"慢查询就加索引"是入门期最常用的手段,也最容易失灵:索引建了没用、写入还变慢了。问题出在跳过了诊断环节。
执行计划是优化器的决策记录:走了什么扫描方式、用什么连接策略、估算了多少行。读懂它,至少能区分两类病因:
◆ 统计信息过期:估算行数和实际行数差一个数量级。先对相关表执行ANALYZE更新统计信息,再重新审视计划
◆ 优化器选错路径:统计信息是最新的,但计划仍不合理。这时才轮到考虑索引设计、改写SQL等手段
先诊断、后治疗,这个顺序在数据库优化里和在医疗里一样重要。PCP备考把"读执行计划"从选做动作变成了肌肉记忆。
三、信创选型的底气:讲得清生态,指得出风险
学员原话:"客户选型时我能讲清PG生态优势,也能指出迁移风险,PCP证书是敲门砖,但真正赢得信任靠的是真功夫。"
国产数据库普遍采用PostgreSQL技术路线,这让PG技能成为信创项目的基础设施。但"讲清优势"和"指出风险"是两种能力:前者需要了解PG的MVCC、扩展生态、许可证策略;后者需要清楚从Oracle等其他库迁移时的兼容差异——数据类型映射、系统函数差异、存储过程改写,每一项都是风险点。
能同时做到这两点的工程师,在客户选型现场就是技术话语权本身。证书提供了入场资格,话语权来自这些真功夫。
几个常见问题
问:PCP是什么认证?
答:PostgreSQL认证专家(PCP),PGCCC三级认证体系(PCA/PCP/PCM)中的中级,证书由工业和信息化部教育与考试中心颁发,官网 miiteec.org.cn 可查。
问:备考重点有哪些?
答:从学员反馈看,WAL原理、流复制、备份恢复、执行计划与SQL优化是核心能力域。
问:怎么报名?
答:PostgreSQL考试认证中心官网 www.pgccc.com.cn,按班期咨询。
最后引用这位学员的收尾:"考证只是起点,成长在考场之外。"用在技术岗上,这句话的分量还要更重一点——生产环境里的每一次故障,都是真正的考场。