COSCUP 2026 于 8 月 8 日至 9 日在台北国立台湾科技大学举行。对 PostgreSQL 社区而言,这不只是一次技术分享会:国际贡献者、台湾本地用户和其他开源社区在同一个场地相遇,让一个地区性用户群体有机会接入更大的全球协作网络。
这次活动也说明,开源项目的影响力并不只来自代码。展台、演讲、用户组、文档、代码审查和面对面的闲聊,都会成为新贡献者进入社区的入口。
PostgreSQL 为什么适合成为数据中心的枢纽
Bruce Momjian 的演讲围绕一个重要问题展开:在企业数据架构越来越异构的今天,PostgreSQL 能否成为数据中心的中心数据库?答案的依据不是单纯的性能宣传,而是 PostgreSQL 的对象关系模型和可扩展性。
数据类型、操作符、函数、聚合、过程语言、系统目录和扩展机制,让 PostgreSQL 可以承载超出传统关系数据库边界的能力。配合外部数据访问,它能够连接不同系统,把关系型数据、半结构化数据以及分析型工作负载放在一个可组合的架构中。
可以这样理解:PostgreSQL 的价值不只是“保存一张表”,而是让数据、查询能力和扩展机制在同一个系统里协作。实际落地时仍然需要评估数据所有权、延迟、故障域和运维复杂度,不能因为数据库功能丰富就把所有系统强行合并。
索引优化需要证据,而不是直觉
Julien Rouhaud 介绍了 B-tree、Hash、GiST、GIN 和 BRIN 等访问方法,以及部分索引、覆盖索引和 index-only scan。核心判断标准是数据类型、操作符、操作符类和查询形状是否真正匹配。
索引不是查询设计的替代品。低选择性的条件、错误的连接顺序或不合理的表结构,往往不能靠继续添加索引解决。HypoPG 的价值在于,可以先观察规划器会如何使用一个“假想索引”,再决定是否承担真实建索引的时间、磁盘和写入开销。
下面是一个可复制改造的实验流程。它假设已经安装了 HypoPG,并且当前用户有创建扩展的权限:
CREATE EXTENSION IF NOT EXISTS hypopg;
EXPLAIN (COSTS ON)
SELECT id, created_at
FROM orders
WHERE customer_id = 42
AND status = 'paid'
ORDER BY created_at DESC
LIMIT 20;
SELECT *
FROM hypopg_create_index(
'CREATE INDEX ON orders (customer_id, status, created_at DESC)'
);
EXPLAIN (COSTS ON)
SELECT id, created_at
FROM orders
WHERE customer_id = 42
AND status = 'paid'
ORDER BY created_at DESC
LIMIT 20;
SELECT * FROM hypopg_reset();
运行前应替换表名、列名和过滤条件,并用生产规模或接近生产规模的数据验证。EXPLAIN 中出现假想索引并不等于真实运行一定更快;最终仍需结合 EXPLAIN (ANALYZE, BUFFERS)、写入成本和索引维护成本做决定。
把数据库能力交还给应用开发者
Robert Treat 的分享提醒开发者,PostgreSQL 并非只能由 DBA 操作的黑盒。INSERT ... RETURNING、丰富的数据类型、ICU 不区分大小写排序规则,以及事务中的索引实验,都能减少应用层重复实现。
例如,创建索引可以在事务中进行实验,确认执行计划后再回滚:
BEGIN;
CREATE INDEX orders_paid_customer_idx
ON orders (customer_id, created_at DESC)
WHERE status = 'paid';
EXPLAIN (ANALYZE, BUFFERS)
SELECT id, created_at
FROM orders
WHERE customer_id = 42
AND status = 'paid'
ORDER BY created_at DESC
LIMIT 20;
ROLLBACK;
这个方法适合开发和测试环境,也适合受控地验证索引策略。需要注意的是,生产环境中 CREATE INDEX 仍可能带来资源消耗和锁影响;高并发业务通常要单独评估 CREATE INDEX CONCURRENTLY 及其事务限制。
本地社区是全球协作的入口
Grant Zhou 分享了中国 PostgreSQL 社区从本地用户、培训和认证,到 IvorySQL、SynchDB 等下游项目的实践。地区社区拥有规模和真实生产经验,但新人参与上游时可能遇到语言、邮件列表文化和补丁审查流程等门槛。
一个务实的办法是 buddy system:由有经验的贡献者帮助新人理解问题、检查补丁、准备邮件内容,再进入上游讨论。这种机制不只是降低沟通成本,也能把本地实践转化为上游可消费的反馈。
我在演讲中分享的七年贡献经历也指向同一个结论:贡献不必从写核心代码开始。技术博客、文档、补丁审查、演讲、志愿服务和用户组都很重要。对新参与者而言,补丁审查通常比提交复杂补丁更容易建立对代码库和社区流程的理解。持续的小规模参与,最终可能累积成真正的上游影响;我的 Parallel TID Range Scan 补丁就是经过多年学习、审查和开发后进入 PostgreSQL 19 的例子。
从 COSCUP 得到的参与清单
COSCUP 的 PostgreSQL 展台提供了一个低门槛入口:参与者可以与国际贡献者和台湾用户直接交流,了解 PostgreSQL.TW 以及 PostgreSQL.US 支持本地用户组的资源。Lightning Talks 和 Hacking Corners 则让分享、结对编程和文档协作不必等待下一轮 CFP。
如果准备建立或加强一个地区社区,可以从几件具体事情开始:
- 固定举办小型用户组活动,优先讨论本地生产问题。
- 为新人安排一位熟悉项目流程的伙伴。
- 把演讲、博客和问题复盘整理成可检索的文档。
- 让本地项目和上游项目保持清晰的反馈渠道。
- 在大型会议上同时准备技术内容和社区展台。
COSCUP 2026 的意义正在这里:台湾本地 PostgreSQL 社区并不是被动接收信息,而是通过用户、贡献者、组织者和其他开源社区建立双向连接。代码运行数据库,人们建设社区。下一站是 2026 年 11 月 17 日至 18 日在香港举行的 PGConf.Asia,也将继续提供跨地区交流的机会。