PGCon.Dev 扩展生态峰会小记 @ 温哥华
第一届 PGCon.Dev 于 2024 05.28 在温哥华召开,但是正式的大会要到明天才开始。今天是一些内部活动。上午是核心组的老前辈们开闭门小会,下午有两个并行活动,我注册参加了 Extension Ecosystem Summit —— 扩展生态峰会。
本来想给国内的朋友们直播一下,结果兴致勃勃一打开,微信视频号直播功能不让在温哥华用!需要额外申请审批开通,看了下,视频号竟然还要 1000 个关注才让开播,朋友们,老铁们,走过路过帮我点个关注,攒够了1000开温哥华 PG 大会现场直播哈。
(这个视频占位用,帮我点个关注开播哈,以前都没弄过视频号,亏大发啦)
早上坐飞机从洛杉矶 LAX 国际机场飞温哥华,两天没睡好了,落地打车去协议酒店赶紧补个觉倒时差,会场就在边上的 SFU 港区活动中心。
参加扩展峰会管午饭,所以就和上午刚开完闭门会的PG核心组正好凑一桌吃饭了。一桌子中老年,Peter Eisentraut,Tom Lane,Dave Page,还有好几个老头子。就我一个年轻辈的夹在中间,加上好久不讲英语,刚开始还是有点紧张的。
不过嘛只要脸皮厚,礼貌热情,跟各位PG大爷们混个脸熟还是没问题的。唯一例外是 Tom Lane 老爷子,虽然正好坐我对面,但看上去有点儿孤僻生人勿近的样子,没好意思去搭讪。
扩展峰会上,分了上下两场,每场都有几个 Topic,大家挑选感兴趣的主题参与。
我挑了 David Wheeler 的 Binary Packing 主题分会参与讨论,另外四个参与者是 PGDG Yum 仓库维护者 Devrim,Debian 仓库维护者大法师 Tomasz Rybak,Neon 的 PG 主要贡献者 Heikki Linnakangas。都是些老前辈,好在我也算是 YUM/APT 仓库的建设者/维护者,能实质参与到讨论中。
Temob 的 David 一直想做一个 PGXN v2,作为 PG 生态扩展分发的标准,搞一些 OCI 构建扩展的花活。当然,现有事实标准的维护者 Devrim 和 Tomasz 肯定是不乐意的。我支持这两位老爷子,毕竟我做的是 PG 发行版,内核组的活儿跟我直接关系不大,但 YUM/APT 仓库的负责人跟我的关系最紧密,RPM / Deb 包分发扩展已经是一种相当成熟可靠的方式了,整 OCI 这些没用的花活我个人觉得是吃饱了撑着,当然嘴上还是说 “Interesing Thoughts”
下半场,我参加了 Omnigres 创始人 Yurii Rashkovskii 主持的 Extension in Core 分会场,讨论了关于扩展目录结构,元数据,命名冲突,版本控制,二进制分发的一些想法。
在场参会的中国人应该就我一个,有两位在 AWS 和学校里的华人。明天国内的瀚高有几个人会来,据我所知应该没有其他中国参与者了。如果有的话,欢迎联系我组饭团饭搭子!
来参会前,我在《PG大会2024开幕,温哥华饭搭子驴友团呢?》中征求中国朋友们对PG社区的想法,问题建议。PG分会的类总提了一个很有意思的动议,让 PGDG 官方仓库提供对龙芯架构芯片的支持。
我把这个想法与 Devrim 老爷子沟通了,老爷子说不行,因为构建环境必须是他们的机器和环境,龙芯机器对应的环境确实不好弄。第二个问题是操作系统发行版,RockyLinux 目前还没法很好的跑在龙芯上,至于那些能跑国产操作系统想让社区支持就有点痴人说梦了。Debian 倒是有希望,明天和 Tomasz 老爷子聊聊看可不可行。第三个问题是,PG在龙芯上需要特殊处理一下编译选项或者改一行内核代码,不过这个问题提交今天 Tom Lane 老爷子已经同意了。
我给 Devrim 和 Tomasz 两位PG官方软件仓库维护者,两位老爷子送了两个镀金的 PG Slonik 胸针,两位都非常喜欢,爱不释手。
除了国产芯片架构支持,我还与 Devrim 老爷子聊了许多关于 RPM 扩展分发的问题并深入。比如,Rust 扩展整合的问题,Supabase 扩展支持的问题,如何处理、打包、分发扩展的依赖包,仓库分级的问题,RPM 签名的问题。确实获取了一些关于发行版建设的第一手重要信息,可谓收获满满。
缘从何起
说起来这个扩展生态峰会跟我还有点关系。两个月前,我写了一篇文章《PostgreSQL正在吞噬数据库世界[1]》,主题是 PostgreSQL 的繁荣扩展生态是其独一无二的特点与成功的关键要素。写完后将其翻译成了英文《Postgres is eating the database world[2]》发到了 Pigsty 博客[3], Medium[4] 与 HackNews[5],总共约几十万的阅览量。
在此前,扩展机制的重要性并没有达成共识,即使在 PG 社区与一些资深成员的眼中,关于扩展他们只是觉得 PostGIS 和 PGVector 好像很不错 —— 前者是地理空间数据库的事实标准,后者是AI领域当红炸子鸡 —— 向量数据库的砸盘掀桌者。但 PG 生态中强大的扩展绝不仅仅只有这两个,我抛出了这个极为繁荣的 PG 扩展生态 Landscape,立即引起了社区成员的极大兴趣与关注。
很快关于PG扩展的讨论发酵了起来,许多 PostgreSQL 生态的公司和企业向我发来了 Connect 邀请,或者发邮件表达欣赏与支持。AWS,DBOS,Omnigres,TimescaleDB,DBOS,NextGres ,Stormatrics,Percona。大家开始热烈地讨论起来:未来的 PostgreSQL 扩展生态,应该是什么样子?
预热活动
在这次扩展峰会之前,PG 社区已经举办了六次迷你扩展峰会[6],对此事进行了密集的讨论,六位主讲嘉宾兼主持人在最近两个月中,从不同的角度介绍了关于扩展生态的建设工作,并阐述了对 PG 扩展生态发展的愿景,会议的视频回放[7]可以在 Youtube 上看到。
第一次迷你扩展峰会,PGXN (PG插件源码分发平台)的作者与创始人 David Wheeler 进行了题为 “扩展生态现状” 的分享。
第二次峰会则是 Tembo 的 Ian Stanton:“Trunk:一个PG扩展注册仓库与Tembo Cloud使用的命令行工具”;
第三次峰会是 PGDG yum 仓库维护者 Devrim Gündüz 的分享 “PG Yum仓库的架构,RPM是如何添加的,以及分发RPM扩展的挑战与问题”
第四次峰会是来自 AWS 的 Jonathan Katz,他是 PG 社区核心组七个成员之一,也是 AWS RDS 首席产品经理。他带来了题为 “TLE:可信语言扩展” 的分享,讨论了如何支持,打包,分发用可信编程语言编写的扩展(pg_tle)。
第五次峰会,来自 Omnigres 的 Yurii Rashkovskii 分享了 “从开发到生产:全局可构建的扩展” 。
第六次峰会,Wheeler 总结了前五次峰会的经验,并提出了温哥华 PG 扩展峰会的议题与议程。
有了这六次峰会作为铺垫,基本上在这次扩展峰会中,大家基本也都了解到扩展生态中有哪些问题值得讨论与解决,也对参与者基本混了个脸熟。
当然,倒时差犯困了,关于扩展峰会讨论的具体内容,还是下次再聊了。
PS:温哥华的风景真不错!
References
[1]
PostgreSQL正在吞噬数据库世界: https://pigsty.io/zh/blog/pg/pg-eat-db-world/[2]
Postgres is eating the database world: https://medium.com/@fengruohang/postgres-is-eating-the-database-world-157c204dcfc4[3]
Pigsty 博客: https://pigsty.io/zh/blog/[4]
Medium: https://medium.com/@fengruohang/postgres-is-eating-the-database-world-157c204dcfc4[5]
HackNews: https://news.ycombinator.com/item?id=39711863[6]
六次迷你扩展峰会: https://www.eventbrite.com/e/postgres-extension-ecosystem-mini-summit-tickets-851127263557[7]
会议的视频回放: https://www.youtube.com/playlist?list=PL11N188AYb_aT6ulbJfrQJJziWb012jG3