由 John Doe 八月 27, 2026
Postgres 作为世界顶级的开源关系型数据库系统之一,其背后的故事和贡献者同样精彩。
目录

在本篇文章中,我们通过 Tom Lane 这位资深 Postgres 核心团队成员的访谈,带你走进他如何开始程序员生涯,如何与 Postgres 结缘,以及他对开源社区、数据库技术和开发者文化的深刻见解。
从高中数学实验室到 Carnegie Mellon:一名“极客”的编程启蒙
Tom Lane 的编程旅程始于高中时的数学实验室,那时他和少数志趣相投的同学使用连线到远程的 Honeywell 计算机,学习基本的 BASIC 编程语言。尽管当时只是打发时间写了求解三次方程的程序,但这段经历激发了他的技术兴趣。
进入名校 Carnegie Mellon 大学(CMU)后,Tom 最初的梦想是设计弹珠台机械,甚至专攻机械工程。但在大一时,他被一门吸引人的电气工程课程打动,最终转换了专业。一个偶然机会,他参加了计算机科学入门课,并被教授推荐成为研究助理,从此开始了更加系统的计算机科学学习和实践,主要参与了 “Hydra”——早期的对称多处理器研究项目。
教学要点:
- 编程兴趣可以从简单问题和环境开始培养
- 紧跟兴趣转换专业是成长关键
- 参与科研项目和实际开发助理工作是学习的有效方式
职业起步:惠普的桌面计算机与技术磨炼
本科毕业后,Tom 进入惠普(HP)的桌面计算机部门工作。他解释说,这里开发的是配备 BASIC 语言的桌面计算器,算得上当时的小型计算机。HP 当时偏好电气工程师而不是计算机科学毕业生,但这些机器需要软件工程人才,Tom 正好契合。
在惠普工作期间,他对软件开发、产品设计和工程文化有了深入理解,将“为隔壁工程师打造产品”的理念铭记于心。五年后,他选择回到 CMU 攻读研究生,原因部分是家庭因素,他的妻子希望回到匹兹堡。
关键启示:
- 技术公司的文化能大幅影响个人成长
- 跨专业知识(例如电子与计算机科学)助力多面发展
- 职业转场需考虑家庭与生活平衡
研究生岁月:开源启蒙与“只要代码免费”
攻读博士期间,Tom 接触到了早期的互联网开源代码管理,例如他曾维护 Usenet 新闻组的软件,亲历了早期开源授权的诞生。虽然博士阶段 “Lieberman 队列” 的琐事让他卸货饮料机,但他选择了运维新闻站点,开启了与开放源代码世界的深入联系。
同一时期,他还积极参与了 libjpeg 项目,这是基于 JPEG 图像压缩标准的一套开源实现,极大地推动了数字图像的传播效率。这项工作尤其重要,因为jpeg标准配合 libjpeg 的自由开源许可证,确保了 JPEG 格式成为全球广泛接受的标准。令人惊讶的是,他的代码甚至被用于火星探测器的摄像头中,如“毅力号”火星车。
开放源码的力量体会:
- 代码免费且高质量,有助于广泛采用
- 开源项目推动技术标准化和工业实践
- 早期开源经验塑造了开发者的理念和价值观
偶然成为 Postgres 社区的核心贡献者
在退役惠普设备的二手软件维护生涯后,Tom 和伙伴转向利用金融市场交易模型尝试通过股市获利。在构建相关系统时,选择数据库管理交易数据自然成为关键需求。他考察了当时主流数据库:Postgres、MySQL、Oracle。Postgres 代码整洁且具备良好的可读性,而 MySQL 则让他望而却步。Oracle 则因费用太高被直接放弃。
因实际需要,他开始提交针对 Postgres 在 HP-UX 上的移植补丁,解决监听通知(listen/notify)机制的缺陷,逐渐深入代码。之后他加入了 Great Bridge 公司(首个对 Postgres 投入全职开发的商业实体),从“业余爱好”转为职业生涯。
给开源贡献者的启示:
- 先做用户再做开发,理解场景至关重要
- 参与开源社区带来成长与转职机会
- 一点点小补丁可以引导你进入更深层次的开源贡献
Postgres 发展及社区治理:从小群体到多元协作
Postgres 从伯克利大学的研究项目转为生产级项目后,核心团队由最初4人逐渐扩展。Tom 于 1999 年加入核心团队,团队现已发展出多层次治理结构,包括筹资、基础设施、安全、行为准则等多个子委员会,核心团队更多扮演公益监督和特殊决策角色。
这是一个注重规范和协作的自组织社区:
- 开发和决策高度透明,邮件列表是核心沟通渠道
- 成员间相互尊重,倡导礼貌与建设性反馈
- 通过 CommitFest 和 BuildFarm 等工具保障持续集成与质量控制
开源工作的日常与心态:面对挑战,保持温和与开放
Tom 坦言,扮演开源核心开发者不仅是技术工作,更涉及大量邮件沟通、补丁审查与社区互动。他认为:
- “厚脸皮”+“宽容心”是必备品格:开源开发失败和错误一目了然,接受反馈,改正,是成长必经之路。
- 持续学习与改进:经验积累带来代码驾驭能力与技术视角的提升。
- 开放心态:乐于接受不同意见,愿意早期发布草稿,借助社区力量打磨方案。
- 时间管理虽不完美,但主要靠关注用户反馈决定工作重点。
此外,他也摒弃成见,注重使用简明清晰的语言,避免生僻或含糊不清的表达,体现对多元文化的尊重。
为什么选择留在 Postgres?技术+人文的双重吸引力
尽管在 Red Hat、Salesforce、Crunchy Data 等多家企业工作,Tom 始终能将绝大部分时间贡献给 Postgres 社区。他强调:
- 企业通常基于 Postgres 构建差异化产品,愿意投资维护开源
- 参与 Postgres 从技术和人文两个层面满足了他的职业理想
- 和社区朋友保持联系,参加 PGConf 系列线下/线上会议,深化归属感与友谊
- 工作不仅是产出代码,更是分享与合作的过程
对于新入门者,他鼓励参加会议和邮件列表,积极试验小补丁,从审阅他人的代码入手慢慢融入。
对 Postgres 新人和开源贡献者的建议
- 从小处开始 选择一个小问题或模块入手,一步步积累信心和理解。
- 主动征求反馈 在写很多代码前先在邮件列表“卖点子”,早期交流能节省大量返工。
- 学习代码审查流程 积极参与Patch Review,了解项目运行和代码架构。
- 保持谦逊与开放心态 接受批评和建议,将其视为提升的机会。
- 注重社区交流礼仪 语言清晰礼貌,避免使用深奥的俚语,保持良好沟通。
- 参加线下线上活动 PGConf 等会议不仅增长技术,也能积累人脉和动力。
- 坚持不懈地投身实践 经验和能力来自于不断地敲代码和与社区互动。
总结
Tom Lane 的故事不仅是一位顶级软件开发者的职业轨迹,也是开源社区核心价值和动力的生动写照。自由、责任、协作与热情,构成了Postgres成功的基石。作为开发者,无论从业余爱好还是职业转向,关键在于寻找个人兴趣、用实际需求驱动学习,并积极参与社区交流。
你准备好开始你的Postgres贡献之旅了吗?
参考工具与资源
- Postgres邮件列表(pgsql-hackers)
- CommitFest补丁审阅平台
- BuildFarm持续集成测试系统
- PGConf系列会议(纽约、欧洲、加拿大线上线下)
- 公开开源代码库Github与官方网站
愿你在Postgres社区找到属于自己的成长和乐趣!
参考
How I got started as a developer (& in Postgres) with Tom Lane