感谢中国 PG 分会,感谢其达。正式成为 PostgreSQL ACE,也算是对我这一年多工作的一个肯定。

我给自己选择的 title 是“PostgreSQL 数据库恢复专家”。包括参加其他活动的时候,我也更倾向于使用这个 title。
上周参加西邮活动时,我自己问过自己这个问题:年纪轻轻,怎么好意思自称专家?谁给你的底气?
我当时在台上的回答是:
当你认为在某个领域的工作已经没有人比你做得更好的时候,你就可以自称专家,直到有人站出来挑战你。那么很幸运,暂时还没有人质疑我在 PG 恢复领域的专业水平,所以我就继续这么叫自己了。
其实说起来也很有意思,Oracle 恢复、MySQL 恢复、SQL Server 恢复,都有很多人长期深耕,而且已经做了很多年。甚至去淘宝上一搜,也是一大把。
但 PostgreSQL 恢复,相比之下就比较尴尬了。很多人并不清楚哪些场景能恢复,哪些场景不能恢复。网上搜索 PG 某某场景恢复,看到的文章也大多是“晒马”一样,把各种开源工具摆出来,告诉你这个场景这么玩,那个场景那么玩。
可是准确性呢?可靠性呢?
说句不客气的,从我的角度看,确实乏善可陈。
这些工具大多是从数据库内核角度出发去设计的,很少有人真正从用户的角度来考虑:用户在现场到底遇到了什么问题,数据还剩下多少,怎么判断这个场景还能不能做,怎么把数据尽可能可靠地导出来。
回到前面那个问题,为什么 PG 恢复过去没人认真做?我想核心原因还是缺少利益驱动。过去的 PG 用户,既没有 Oracle 用户那种成熟的付费习惯,也没有 MySQL 在 LAMP 技术栈时代积累下来的庞大用户群体。需求少,自然就没有足够的研发动力。
所以,这个漏就被我捡到了。
而且这个漏很大。大到 2025 年初我刚入场的时候,这个领域基本还停留在依赖 PG 社区开源生态野蛮生长的阶段,没有形成一套真正属于 PG 恢复的方法论。
于是 PDU 就一步一步往前走:先做离线抽取数据,再做 WAL 日志数据挖掘恢复,最后做到碎片扫描恢复和无数据字典匹配恢复。我把自己见过的案例、踩过的坑、能复用的经验,尽可能都整合进了 PDU 里。
其中前两个功能我也已经开源,供大家免费使用。这当然是在培养自己的竞对,但我既然从 PG 的开源生态里获益良多,也很乐意反过来给社区做一些贡献,让这个正反馈继续循环下去。
当然,既然自称专家,自然也有一些核心科技是藏在手里的。简介里提到的磁盘碎片扫描恢复、无数据字典恢复,我很自信,社区里暂时还没有人能做得比我更好。
当然,也不排除社区之外早有大师掌握此技,只是在闷声发大财。欢迎私戳我探讨探讨。
今天就说这么多了,再次感谢大家支持!




