前不久,我们发起了第一期 Good First Issue 活动,整理了 10 个新手友好任务。说实话,一开始我们也有点忐忑——真的会有人来认领吗?
结果超出预期。
最终, 5 个 PR 被成功合并,迎来了 4 位新贡献者;另外还有 2 个 PR 正在审核中。
一起来看看第一期小伙伴们的成果:
| 贡献者 | 完成任务 | 状态 |
|---|---|---|
| @goeason-world | [#1479] 清理死代码 + [#1162] 修复 sprintf() 溢出 | ✅ 2 个 PR 已合并 |
| @lispking | [#1478] ivy_guc.c 不符合 GUC 规范 | ✅ 已合并 |
| @ai-yang | [#1481] REGEXP_COUNT 返回值错误 | ✅ 已合并 |
| @digoal | [#1482] 死分支与误导性分支清理 | ✅ 已合并 |
| @messere1 | [#1118] 生态集成 pgpool-II + [#1105] 生态集成 pgnodemx | 🔄 2 个 PR 审核中 |
恭喜以上小伙伴!已合并 PR 的同学可以在这里领取电子证书:
👉
https://github.com/IvorySQL/community/tree/main/certification-2026

后续新的贡献者我们也会同步到 IvorySQL 官网的贡献者墙: https://www.ivorysql.org/zh-cn/contributors
现在,第二期正式启动!
这次我们准备了 6 个任务,从入门级到进阶级都有。无论你是第一次接触开源,还是已经有一些经验,都能找到适合自己的那一题。
任务 1:#1707 exit_nicely() 参数检查问题
问题很简单:
exit_nicely() 的参数列表写的是
() 而不是
(void),导致编译器跳过了参数个数检查。改一行声明就行,是熟悉 Git 提交流程的绝佳练手机会。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1707
任务 2:#1709 make maintainer-clean 清理不彻底
执行
make maintainer-clean 后还有残留文件,导致后续用 meson 编译失败。需要找到遗漏的文件并把清理规则补全。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1709
任务 3:#1710 DBMS_UTILITY.FORMAT_ERROR_BACKTRACE 在包初始化时显示错误
在包初始化块中调用错误回溯函数,返回的限定名称不对。需要找出调用链路中哪个环节丢失了正确的名称信息。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1710
任务 4:#1708 CREATE PACKAGE BODY 所有者检查缺失
首 次执行
CREATE PACKAGE BODY 时没有检查所有者,存在安全隐患。需要在代码中找到创建逻辑的入口,补上权限校验。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1708
任务 5:#1712 移除废弃的 IVY_GUC_ENUM_PARAMS 宏
PostgreSQL 19 修改了 GUC 参数的定义方式,这个宏已经没用了。需要把它的定义和所有引用全部清理干净,顺便熟悉一下 PG 的 GUC 机制。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1712
任务 6:#1717 sys.to_date(text, text, text) 解析逃逸
sys.to_date(text, text, text)函数的C实现为解决编译警告引入的逻辑错误,第3个参数为空字符串时错误跳过时间解析。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1717
💡 生态集成类任务可参考 生态组件适配指南,步骤已经写得很清楚了。
/assign(第一个回复的人获得任务)| 事项 | 说明 |
|---|---|
| 谁可以认领 | 所有人 |
| 每人最多 | 同时 2 个任务 |
| 完成期限 | 认领后 7 天 |
| 延期 | 可提前 2 天申请延期 1 次(+3 天) |
| 超期 | 释放任务,冻结 2 个月认领资格 |
在 Issue 下直接留言就行,导师会在 48 小时内回复。不用怕问题“太小白”——每个人都是从这个阶段过来的。
如果你还想获取奖金奖励,那就可以同时报名这个活动:

报名比赛后,只要认领并完成上述任一任务、PR 被合并,就可以叠加获得比赛方提供的 现金奖金,同时依然享有 IvorySQL 的证书和周边。
👉 报名链接: https://www.taiyi.top/competition-details?id=5068cc91-7119-11f1-b193-02420a000011
开源没有门槛,只差一个开始。
选一个任务,回复
/assign,剩下的有导师帮你。我们等你。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70043484/viewspace-3180399/ ,如需转载,请注明出处,否则将追究法律责任。