从不敲代码到 PostgreSQL 贡献者之路

PostgreSQL贡献者指引 前言 为开源项目做出贡献可能令人生畏——PostgreSQL也不例外。作为PostgreSQL的长期贡献者,Aleks分享了他来之不易的技巧,以帮助您做出第一次贡献,或做出更多贡献。 **PostgreSQL是世界上最受欢迎的数据库之一。**我们是PostgreSQL的Timescale扩展功能的忠实粉丝,这已经不是什么秘密了:我们已经在它的基础上构建了TimescaleDB,还聘请了开源PostgreSQL贡献者(像我一样!)。同时,我们开发了一些功能来让 PostgreSQL更好地应用于时序场景(例如S 阅读详情

本文整理于 HOW 2026 演讲内容,演讲者:类延良,PostgreSQL contributor。

我为 PostgreSQL 14、15、16、18 都做过贡献。说白了,这个“贡献”主要就是提 Bug。实际上,我最早是为 PG 13 提的 Bug,所以我的名字出现在了 PG 14.0 的 Release Notes 里。今年 1 月(其实是去年 12 月),我又在 PG 18.1 上发现了一个 Bug,预计今年 9 月 PG 19 发布的时候,我的名字就会出现在 PG 19.0 的 Release Notes 里。

下面我从四个方面来聊:一是贡献者介绍,二是为 PG 做贡献的途径,三是有什么好处,四是重点分享我做贡献的具体经历。

一、贡献者介绍

严格来讲,大家别看我在宣传页上写着“Contributor”,其实我不是官方认定的那种核心贡献者。PostgreSQL 对贡献者有严格的认定标准,官方维护一份公开的贡献者名单,分 Core Team、Major Contributors、Significant Contributors、Past Major Contributors、Past Contributors 等层级。那个名单在 postgresql.org/community/contributors/ 上可以查到。

二、为 PG 做贡献的途径——提 Bug 的完整流程

我主要做的是提缺陷(Bug),流程大致如下:

1. 注册账号

首先要在 postgresql.org 上注册或登录一个账户。注册过程中有人机验证(ReCAPTCHA),在国内访问时验证码经常加载不出来,需要想办法。我当时是请 IvorySQL 社区的朋友帮忙在国外注册的,当然也不排除有其他手段。

2. 提交 Bug

通过 postgresql.org/account/submitbug/ 提交,提交后会生成一个 Bug 编号。

3. 跟踪后续动态

后续可以通过两种方式跟踪:

  • 查看注册邮箱的通知;
  • 直接访问 pgsql-bugs 邮件列表,按年月定位自己提交的 Bug。

说起来,我之前做了很多年 Oracle DBA,也用过 Oracle 的 Support 平台(以前叫 MOS,现在叫 My Oracle Support)。那个平台的正常访问是需要付费的,对比下来,PG 社区不用花钱就能提 Bug,门槛低了很多。

1.jpeg

三、参与贡献有什么好处?

社区会为贡献者提供实物纪念品作为激励。

最典型的是纪念币。每个大版本会发行一款纪念币,大概 5 号电池(AA 电池)那么大。我当时为 PG 15 做了贡献,后来收到了一封邮件,大意是:“感谢你为 PostgreSQL 15 做出贡献,我们想送你一枚纪念币,请回复邮寄地址。如果你拒绝礼物也请告知。”我当然不拒绝,就填了地址。

2.png

负责分发的是 Mark Wong(这次大会他也来了)。他告诉我已经发出了,给了美国邮政的物流单号。但后来我一直查,包裹始终停在首都国际机场。我猜测是因为我没有提供身份证号,没法清关。最后我也没收到那枚币。

所以后来,瀚高股份的 IvorySQL 社区工作人员就负责在国内分发 PostgreSQL 贡献者纪念币,解决了清关问题。

另外我还收到过 FerretDB 从拉脱维亚寄来的广告衫,那次我提供了身份证号,就顺利收到了。

3.jpeg

四、我做贡献的具体经历

在不碰代码的前提下找到 PostgreSQL 的 Bug,其实并不容易。我个人的职业经历是 Oracle DBA,以及数据同步(逻辑复制)软件的产品经理。我的发现路径主要有两条:

1. 从整理参数文档入手

我在系统化整理 PG 13 的配置参数时,发现 PG 官方文档缺乏像 Oracle 那样清晰的表格化说明。Oracle 的文档会明确列出:参数名、数据类型、取值范围(极值)、是否重启生效、单位(KB/MB)、是否允许备库不同等。PG 13 虽然有表格,但不够系统。

于是我逐一手动翻阅文档,并在 pg_settings 视图里验证每个参数的类别(Category)、极值、是否重启生效等。结果发现:某个参数在 pg_settings 里显示的类别,和官方文档描述的不一致。也就是说,查询结果与文档不符。

我提了 Bug,社区确认了,修复后我的名字就出现在了 PG 14.0 的 Release Notes 里。

2. 从新特性入手

新特性容易考虑不周,是发现 Bug 的好切入点。

今年 2 月(实际上是去年 12 月),我在做逻辑复制软件相关工作,需要关注 DDL 支持。PG 18 新增了为 NOT NULL 约束命名的能力,并且允许后续修改约束名。我就测试了一下这个改名功能。

执行改名操作后,客户端返回“修改成功”,但再次查询系统表时,发现约束名根本没变,状态不一致。这显然是个 Bug。我提了之后被确认了,后续由 EDB 公司的工程师修复了。

3. 一个额外痛点:序列归属查询太复杂

再讲一个我们在做逻辑复制软件时遇到的痛点。PostgreSQL 里,不同 Schema 下可以有同名的序列(Sequence)。在逻辑复制或数据同步场景中,我们必须知道:某个表的某一列,到底引用的是哪个 Schema 下的哪个序列?

如果名字都相同,怎么快速区分?

Oracle 有直接的数据字典视图(比如 dba_tab_cols 等),一条 SQL 就能查出来。但 PG 就很费劲。查询结果会受当前 search_path 影响,很容易搞混。

我们最后是写了一段很长的多表关联 SQL,用到了 pg_attribute、pg_class、pg_depend,还要解析 attidentity 或默认值表达式(比如 nextval('schema.seq'))才能定位出来。代码长到占了很多行。

4.jpeg

虽然最终能查出来,但我觉得,从数据库管理工具的易用性来看,PG 在这个功能上确实不如 Oracle 方便。这也算是我在使用过程中感受到的一个真实痛点。

以上就是我从不敲代码到成为 PostgreSQL 贡献者的全部经历。感谢为 PostgreSQL 做出过贡献的所有人!

PostgreSQL入门介绍 PostgreSQL 是一款功能强大的开源关系型数据库管理系统,起源于20世纪80年代末,旨在提供高性能、可扩展和可靠的数据存储解决方案。它支持几乎所有SQL标准,并提供了如ACID事务、MVCC、复杂查询、大型对象支持、触发器、存储过程等高级功能。PostgreSQL 与 MySQL 相比,在数据类型支持、SQL标准遵循、扩展性等方面更具优势,适用于金融、电信、ERP等复杂应用场景。 阅读详情

相关推荐

【PostgreSQL】PostgreSQL 迁移不用敲代码!Win10 专属 GUI 工具,点一点就能搞定表批量复制

本文将介绍一个基于Python开发的PostgreSQL数据库批量迁移工具,该工具支持可视化操作,能够帮助用户高效完成表结构和数据的迁移。文章首先分析了工具的需求背景和功能定位,包括可视化配置数据库连接、测试连接有效性、灵活选择迁移表以及跟踪迁移进度等功能。接着详细阐述了技术栈选型,采用tkinter构建GUI界面,使用psycopg2进行数据库交互,并通过mermaid流程图展示工具运行逻辑。文章重点拆解了核心迁移流程,包括连接测试、表结构迁移、数据迁移和日志记录等关键步骤。最后提供了完整的代码实现示例,

kngines 489

从代码到舞台:HOW 2026 致敬 PostgreSQL 18 贡献者

HOW 从来不只是一场会议,而是一个持续生长的开源连接点。21 个分论坛109 场技术分享1500+ 线下参会者20000+ 线上观看量覆盖全球 10+ 国家和地区社区PostgreSQL 内核机制与版本演进AI × PostgreSQL 融合实践云原生架构与工程化能力行业落地与真实案例工具生态与性能优化社区治理与人才培养。

IvorySQL的博客 385

PostgreSQL 代码目录结构

序言 PostgreSQL是遵照BSD开源协议类似的开源协议PostgreSQL License发布。该许可证可以在PostgreSQL源代码的COPYRIGHT文件中找到。 从该协议可以看到,开发人员或者商业组织只要遵循该协议,便可以自由地使用PostgreSQL,可以完全控制这些第三方代码,在必要的时候可以加以修改或者二次开发。 PostgreSQL源代码包含3400多个文件,主要...

椟夜 1617

微软成为PostgreSQL主要贡献者

另一方面,目前在国内,除了老大哥Oracle比较少人喷之外,SQL Server也是经常被人喷,说MySQL和PostgreSQL比SQL Server强多少倍,然后还有MySQL的人跟PostgreSQL的人经常互喷。这就导致几个问题,代码没有被真实场景打磨,代码有漏洞,性能有问题,贡献的代码由于不是真实的或者迫切的客户需求,所以对数据库内核稳定性有影响。真的不明白有什么好喷的,只能说国内喷子太多,包括国内某些大牛,或许这就是国内的数据库环境和氛围,还有学术上也有些欠缺吧。

欢迎你来到我的博客 1415

保姆级教程:在Android车机上从零配置USB Gadget,搞定CarPlay有线连接

本文详细介绍了在Android车机上从零配置USB Gadget以实现CarPlay有线连接的完整实践指南。涵盖内核驱动开发、Android系统配置及用户空间通信架构,帮助开发者深入理解USB子系统和iAP2协议栈,实现稳定可靠的CarPlay有线连接功能。

weixin_30621711的博客 473

忘记安卓锁屏密码怎么办?3种方法教你用ADB恢复访问(含gesture.key解密)

本文详细解析了安卓设备锁屏密码的存储与加密机制,特别是gesture.key文件的解密原理。针对遗忘密码的常见问题,提供了三种核心恢复方法:利用ADB调试接口删除密码文件、对gesture.key进行离线分析与解密,以及应对高版本系统的替代方案。重点介绍了通过ADB工具在Recovery模式下操作的具体步骤,帮助用户在合法合规前提下恢复设备访问权限。

php55的博客 962

开源同行,感谢有你|IvorySQL 社区邀您领取贡献者证书

在开源的星辰大海中,每一次代码的提交、每一个 Issue 的精准反馈、每一行文档的打磨完善,都是推动开源项目稳步前行的微光,无数微光汇聚,便成了 IvorySQL 成长的星河。IvorySQL 作为一款兼容 Oracle 的 PostgreSQL 开源数据库,其发展与壮大,始终离不开全球开发者的热忱参与和持续深耕。从内核技术的迭代优化到生态工具的适配开发,从文档体系的补全完善到社区交流的积极分享,越来越多的开发者奔赴而来,以专业与热爱,共同浇灌 IvorySQL 开源数据库生态的繁茂生长。

IvorySQL的博客 393

TMC2209的UART模式详解:如何用串口调试助手配置细分和电流(避坑指南)

本文深入解析TMC2209步进电机驱动器的UART模式,详细讲解如何通过串口调试助手配置细分和电流,包括硬件连接、通信协议、关键寄存器设置及高级功能应用。提供实战避坑指南,帮助开发者优化步进电机控制性能,适用于精密仪器、3D打印等场景。

weixin_29166013的博客 542

参与开源Discord机器人项目:TitanBot代码规范与贡献者入门指南

**TitanBot** 是一个功能全面的开源 **Discord 机器人**项目,集成了服务器管理、经济系统、等级经验、工单系统、音乐播放等模块,基于现代 Discord.js v14 与 PostgreSQL 构建。本文是面向新手的 **TitanBot 贡献者入门指南**,带你快速理解代码规范、搭建本地开发环境,并提交你的第一个 Pull Request。 ## TitanBot 能做什么

gitblog_00733的博客 664

调节桌面图标大小的方法(编程)

如果你对其他操作系统或编程语言有类似的需求,可以根据具体的情况进行相应的调整和搜索相关的库和方法。在编程中,我们可以使用各种桌面应用程序来调节桌面图标的大小。库提供的函数,我们获取了桌面图标的窗口句柄,并使用Windows消息发送方式设置图标的大小。你可以根据自己的需求修改代码中的图标大小值,并在运行代码后观察桌面图标的变化。函数并传入所需的图标大小,这里设置为48x48像素。首先,我们需要使用Python的第三现的方法。首先,我们需要使用Python的第三方库。首先,我们需要使用实现的方法。

CyberFlare的博客 439

RK3568平台(camera篇) mipi csi接口

MIPI联盟,即移动产业处理器接口(Mobile Industry Processor Interface 简称MIPI)联盟。MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。MIPI是差分串口传输,速度快,抗干扰。主流手机模组现在都是用MIPI传输,传输时使用4对差分信号传输图像数据和一对差分时钟信号;MIPI摄像头有三个电源:VDDIO(IO电源),AVDD(模拟电源),DVDD(内核数字电源),不同sensor模组的摄像头供电不同。

weixin_49303682的博客 5348

PostgreSQL 18 中国贡献者经验分享:开源参与的四点建议

从修复内存泄漏、优化语法解析,到完善工具模块,瀚高 5 位贡献者的实践经历,不仅是中国力量融入 PostgreSQL 生态的生动缩影,更清晰拆解了 “参与开源” 的真实路径 —— 它并非遥不可及的技术壁垒,而是从一次代码审阅、一个 BUG 修复、一封邮件讨论开始的点滴积累。PostgreSQL 18 背后的 3000 次提交,是 200 多位开发者协作的成果,而中国贡献者数量的增长,正让开源生态的 “多元性” 愈发鲜明。

IvorySQL的博客 753

一文读懂5G网络整体架构(接入网+承载网+核心网)

接入网重构分级(分工更细、效率更高)、承载网三段化升级(管道更宽、更智能)、核心网服务化云化(管理更灵活、成本更低)最终实现“成本最优、资源灵活、场景适配”,才能支撑自动驾驶、工业互联网、智慧城市、VR/AR等各种新场景,真正走进我们的生活。

鲸落寰宇 430

邀请函 | PostgresConf.cn 2020开发者闭门会议,广邀中国贡献者

我们在PGConf.Asia2020上有一个开发者闭门会议! 这是PostgreSQL国际社区技术大会的惯例。因此,我们准备了一些有关什么是闭门会议及其如何参与的信息。闭门会议将于11月17日(星期三)线上举行,这是在此次PGCONF的主要会议日之前的一天,我们希望您能有兴趣参与其中! 开展开发者闭门会议是PostgreSQL国际社区技术大会的惯例,PGConf.Asia2020的闭门会议11月17日(星期三)线上举行。 这次会议得到了国际PG社区的大力支持,PG核心组成员Bruce Momjian将主持此

PostgreSQL China 826

从苏宁电器到卡巴斯基(第二部)第01篇:我在卡巴的日子 I

聊聊行业薪酬 我相信不论是谁,如果是入职一家新的公司,那么他最想知道的一件事情就是待遇情况了。这里既包含每月实际能到手多少钱,又包括五险一金是否齐全以及是按照高标准还是低标准缴纳。另外,如果是入职IT公司,还会在意年终奖有多少,毕竟某些富裕的IT企业,每到年末就会以此制造新闻来博取大家的关注,以彰显自身的实力。 一言以蔽之,待遇问题也就是年收入究竟会有多少,也是我们进入职场的人喜欢相互打听的问题。比如我研究生那届最厉害的一位同学,签了A公司的算法岗位,年薪30W+(税前,下同),在当时的我看来就是天价了

Gleam的专栏 1226

基于深度学习的鸟类检测识别系统:YOLOv5 + YOLOv8 + YOLOv10 + UI界面 + 数据集

YOLOv5是当前目标检测领域非常流行的模型,具有良好的检测精度和实时推理速度。其网络结构相比前几代YOLO模型进行了优化,尤其是在检测精度和计算效率上有了显著提高。YOLOv5特点高效性:能够在较低的硬件环境下进行实时检测。易于部署和使用:YOLOv5提供了简单的API接口,方便开发者快速集成和使用。优异的精度:在多个数据集上测试,表现出色。本文详细介绍了基于YOLOv5、YOLOv8和YOLOv10的鸟类检测识别系统的设计与实现。

YOLO 1115

PostgreSQL 16 正式登场,拓数派代码贡献揭示中国顶尖技术实力

PostgreSQL 16 正式登场,拓数派代码贡献揭示中国顶尖技术实力

OpenPie的博客 496

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

悼念!PostgreSQL 重要贡献者 Simon Riggs 因坠机离世

整理 | 苏宓出品 | 优快云(ID:优快云news)开源领域传来一则令人悲痛的消息。英国当地时间 3 月 26 日 13:41 分,著名软件与服务领导者、PostgreSQL 主要开发者与贡献者 Simon Riggs 驾驶一架私人通用航空 Cirrus SR22 飞机在英国达克斯福德机场坠毁,Simon Riggs 在事故中丧生。Simon Riggs 的继子 Sam Holdstock-...

优快云资讯 1137

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【PostgreSQL】技术传承:使用Docker快速部署PostgreSQL数据库

PostgreSQL的重要贡献者Simon Riggs因一起坠机事故不幸离世。Simon Riggs是英国著名的软件与服务领导者,也是PostgreSQL的主要开发者和贡献者。事故发生在英国当地时间3月26日13:41分,当时他驾驶的私人通用航空Cirrus SR22飞机在英国达克斯福德机场坠毁。对于这个悲痛事件确实让人深感哀悼,同时也提醒我们珍惜并继续发展那些由伟大的贡献者们留下的宝贵遗产。

u012153104的博客 947

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

征集PostgreSQL 14致谢清单中的中国贡献者个人/公司

中国PostgreSQL分会 征集PostgreSQL 14致谢清单中的中国贡献者个人/公司 2021.09.30,PostgreSQL全球开发组正式发布了PostgreSQL V14版本,值得一提的是,共计有412位工程师分别以patch authors、committers、reviewers、testers、reporters of issues等不同角色参与到PostgreSQL V14版本的贡献中,这其中,共计有32个工程师是类似中文名的拼音,包括阿里、瀚高、成都文武、南京富士通南大等企业,现特征

PostgreSQL China 333

从0到1搭建TeslaMate开发环境:贡献者必备的本地配置与测试全流程

作为TeslaMate开源项目的贡献者,本地开发环境是提交代码前的基础。它能帮你验证功能、调试问题、运行自动化测试,确保代码符合项目规范。本文将带你完成从环境准备到首次提交的全流程,适合Elixir新手和有经验的开发者。 ## 环境准备清单 TeslaMate基于Elixir语言构建,需要以下工具链支持: | 依赖项 | 最低版本 | 官方文档 | |--------|----------|-

gitblog_00035的博客 1108

云卷云舒:PostgreSQL的事儿你听说了吗?

我想不管是哪一种情况,我们对于数据库技术发展的投入、生态价值发挥都远远还不够,都可以说是处理初级阶段,高级别的数据库自主革命还在继续,哪怕数据库已经出现了20几年了。,在我们的领先领域加大创新投入,以确保领先地位;3、国外创新力度加大,来自快速发展国家的压力,很多国外专家的危机意识也势必上升,因为不仅仅是我们有危机意识,人家也有的,所以可能短时间内我们的贡献度就被埋没了;这不是个好的现象,作为技术人不断突破创新是本职,能站在前人的肩膀上继续搞高级创新会更容易写,那么如果一直这样,谁愿意去做底层的创新呢?

云计算、数据库爱好者 960

从0到1参与APIJSON开源:3步成为核心贡献者

APIJSON是一个基于JSON风格的轻量级API开发框架,支持MySQL、PostgreSQL等多种数据库,特别适合需要快速构建RESTful API的场景。作为腾讯开源的热门项目,参与贡献不仅能提升技术能力,还能为简历增添亮点。本文将带你通过3个简单步骤,从新手成长为APIJSON的核心贡献者。 ## 🌟 为什么选择贡献APIJSON? 贡献开源项目是提升技术影响力的绝佳途径。APIJS

gitblog_01118的博客 977

【Docker】PostgreSQL 容器化部署

PostgreSQL标准软件基于Bitnami PostgreSQL 构建。当前版本为16.1.0。

Qinghub‘博客 8232

DeepSeek总结的PostgreSQL部分版权

PostgreSQL 无版权转让、无 CLA,贡献者保留版权,代码以非排他性许可共享。其“PostgreSQL Global Development Group”非法律实体,无法持有版权,导致项目无单一所有者。这使重许可不可能,诉讼权受限,也杜绝了商标争夺之外的控制权变现。代码的开放性源于偶然,却成就了永久的自由——无人能改变其宽松许可证,亦无人可收购其核心资产。

l1t的专栏 204

nacos添加PostgreSQL支持

nacos2.1.0添加PostgreSQL支持,并解决部分bug,所打包支持日语。

dph5199278的博客 7073
上一篇: PostgreSQL 日报|逻辑复制行过滤致数据丢失(8 月 21 日)
下一篇: PostgreSQL 日报|索引与函数优化补丁速递(8 月 22 日)
IvorySQL
博客等级 码龄5年 745粉丝 565原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值