本文由 Cloudberry Database 社区根据 Timescale 发布的 2023 年最新《State of PostgreSQL》英文版报告整理而成。
《State of PostgreSQL》是由 Timescale 2019 年开始发起的一项 PostgreSQL 社区问卷调查,到今年已经进行了四年,问卷涉及受访者信息如区域、职位/工作状态、贡献经历,以及 PostgreSQL 使用场景与扩展/插件、所用可视化工具等。今年 ChatGPT 引发新一轮 AI 热潮,本次问卷也征集了受访者使用 PostgreSQL 处理 AI 和大模型工作负载的态度与获益。
本问卷调查持续了近两个月,共 888 人参与填写。由问卷整理出炉的报告内容丰富,为我们了解 PostgreSQL 社区提供了数据支撑。
下面就调查结果给大家做完整分享和解读。
一、受访者状况
从 2021 年和 2022 年调查结果来看,EMEA(欧洲、中东、非洲)区域受访者几乎占一半,但今年看到 APAC(亚太地区)受访者增至 20.3%,较去年(11%)上升 9.3 个百分点。
结果显示,81% 左右的 PostgreSQL 受访用户行业经验都在 6 年以上,从业 20 年以上的占比 32.4%。
在 2023 年,软件开发人员/工程师的占比没有发生巨大变化──从去年的 43.3% 到 2023 年的 46.1%。今年的问卷对软件工程师这一笼统概念做了细分,分为前端工程师、后端工程师、全栈工程师和管理人员(包括 CxO、VP、总监和创始人)四类。细分之后发现 28.3% 受访者是后端开发人员,17.8% 是全栈开发人员。2023 年软件架构师参与更少,从 13.2%下降到 6.6%。同时,9.7% 参与者担任公司管理职务。
受访者所在最多的行业类型,以 IT、SaaS/软件类、金融/金融科技等为主。
根据 DB engines 排名(
https://db-engines.com/en/ranking_trend?ref=cloudberrydb.org),PostgreSQL 的受欢迎程度一直很高。从问卷结果看,使用 PostgreSQL 不到一年的新用户数量连续三年增长──从 2021 年的 6.1% 到 2022 年的 6.4%,再到今年的 8.1%。2023 年 3-5 年用户占比也比 2022 年有所增长。但从数据统计看,具备 6-10 年以上的受访用户占比有所波动。
今年相比去年结果显示,从工作或同事处得知 PostgreSQL 的受访用户占比从 37.4% 降至 28%,但这仍是大家知道 PostgreSQL 最大的来源。很多人已经忘记从哪儿开始了解到 PostgreSQL 的了,还有少部分是在学校、朋友、技术博客和技术论坛等处了解到 PostgreSQL 的,总之接触途径很多样。
综合问卷数据发现,人们选择 PostgreSQL 的前三大理由是开源、功能特性、可靠性,其他理由还包括如扩展、性能、SQL、生态、成本、ACID、可用性和社区等。不同年限的用户选择 PostgreSQL 原因也存在差别,接触 PostgreSQL 时间越长越会看重它的可靠性。
51.2% 受访者表示,与前一年比,PostgreSQL 在所在组织中使用的更多了,其中 11-50 人规模的团队使用 PostgreSQL 增量最突出。
85.8% 受访者将 PostgreSQL 用作项目的主要生产数据库。
目前受访者主要将 PostgreSQL 用于应用开发、仪表盘、监控、IoT、DevOps 方面,今年新增的场景选项“AI/机器学习”也入选前六大场景。
在今年的问卷中,引入了一个新的问题就是调查大家正在使用哪个 PostgreSQL 版本,从结果来看,生产环境和开发环境最常用的 PG 版本是最新的 2 个 PG 版本:PostgreSQL 15 和 PostgreSQL 14。
(备注:在问卷期间,PostgreSQL 16 还未正式发布,仅有 PostgreSQL 16 Beta 可选,所以 PG 16 用户较少)。
该问题也是在今年问卷中首次引入。受访者反馈“查询优化”是主要难点,其次是维护操作、PostgreSQL 参数调优、运维管理等。同时,暴露出来的挑战还有人员招聘、数据迁移、安全等反馈。
在受访者中,最常用的 SQL 功能包括常见的表格表达式、窗口函数、INSERT... ON CONFLICT及聚合函数的筛选子句、全文搜索等。
该问题是今年问卷首次引入。从结果来看,受访者部署的 PostgreSQL 数据库集中在中小规模范围。
PostgreSQL 丰富的连接器和工具生态系统是被大家普遍认同的地方。
该问题为开放式。2023 年在受访者回复中出现了几个新的扩展,如 pg_fdw,pg_repack 和 pg_cron,它们是首次上榜。
与过去两年问卷结果保持基本一致,访问 PostgreSQL 最常用的五大编程语言是 SQL、Python、Java、JavaScript/TypeScript 和 Go 语言。0-5 年使用年限的 PostgreSQL 用户更偏爱 JavaScript 或 TypeScript 而非 Java。6 年以上的 PostgreSQL 老用户更多使用 Shell 脚本来访问数据库。
本问题的答复与 2022 年结果保持一致。大家连接到 PostgreSQL 最常用的方式是 psql,其他较多回复包括 pgAdmin、DBeaver、Datagrip 和 IntelliJ。
在 2023 年的受访者中,近一半(43.5%)表示他们不使用其他第三方工具。在使用第三方工具的回复中,pgBouncer、Depesz EXPLAIN 和 pgBackRest 占比较多。
虽然 18% 的受访者不使用可视化工具,但大多数受访者依赖 Grafana(38.2%)、pgAdmin(36.6%)和 DBeaver(27.4%)进行数据可视化。这些结果与 2021 年和 2022 年的回应一致。
相比 2021 和 2022,反馈“自我管理 PostgreSQL(Self-managing)”的受访者越来越少。但从 2023 年反馈数据来看,AWS RDS 部署方式最靠前,在公共云平台(如 AWS、GCP 或 Azure 等)自建 PG 或使用 Kubernetes 部署排名也很靠前。
在使用 Kubernetes 部署 PostgreSQL 的受访者群体中,Helm 用户占比从去年的 44% 降至今年的 28%。相比去年,CloudNativePG 从去年的 6% 提升到今年的 27%。当然,在受访者中选择使用 Kubernetes 方式运行 PostgreSQL 的总人数没那么多,所以该问题中各方式参与人数也相对较少。
与 2021、2022 年调查结果一样,大部分受访者仍然反馈未使用相关自动故障转移方案。不过在使用相关方案的受访者中,Patroni(
https://patroni.readthedocs.io/en/latest/)是最常用的方案。
2023 年,AI 大火。在本问卷中,也有相关问题来调查大家对 AI 方面的倾向。
从调查结果看,45% 的受访者对 AI 工具持赞成态度,35. 2% 持中立态度,仅有 19. 7% 持不利意见。同时,63.1% 的人表示他们目前没有在工作流程中使用 AI 工具,36.9% 受访者已经在使用 AI 工具。
在那些对使用 pgvector 和 PostgreSQL 作为 AI/ LLM 工作负载的向量数据库(54 名受访者)回答“是”的人中,略高于三分之一(37.7%)的人表示,主要好处是能够将向量和关系数据保存在同一个数据库中,其次是社区与开源。
大家对 PostgreSQL 数据库的友好度评价仍然很高。绝大多数受访者(约 91%)将他们的第一次 PostgreSQL 体验评为积极(包括中等、非常容易),平均体验评分为 3.7(共 5 级)。
从报告数据看,每个 PostgreSQL 年限阶段用户都存在贡献者,使用时间越长贡献占比越大,其中 44% 拥有 15 年以上经验的 PostgreSQL 用户至少为 PostgreSQL 做过一次贡献。但总体来看,贡献者毕竟还是少数。
结合我们对 PostgreSQL 社区的参与体验来说,我们再进一步分析下原因:代码贡献需要具备一定的开发能力,且当前 PostgreSQL 代码贡献严谨、流程较复杂(如用邮件互动和提交 Patch,并不可以直接在 GitHub 提交 Pull Request),代码合并进展相比其他开源项目来讲稍慢等,这些都对潜在或新手贡献者造成了一定门槛。当然,每个项目和社区都有自己的传统习惯,但这也是一把双刃剑,传统协作习惯对新生代贡献者来说可能需要长期磨合。
有 67.3% 的受访者表示今年没参加过 PostgreSQL 相关活动。近两三年因为疫情,线下活动有所停滞,但今年数据显示面对面线下会议占比已超过线上虚拟会议。相信在未来的日子,会有越来越多的线下活动,方便社区成员交流互动。
约 13% 左右的受访者使用 PostgreSQL 邮件列表来参与 PostgreSQL 日常互动交流,其他互动渠道也包括 Slack、Stack Overflow、会议和 Twitter 等。
那 PostgreSQL 到底哪里让大家觉得最喜欢呢?大家比较有共鸣的地方是:
超过 278 名受访者作了回复,大体总结下来分为 6 个方面:
超过 300 多位受访者给出了一些吸引新人的建议,如:
PostgreSQL 目前已成为世界上最领先的开源数据库之一,并拥有蓬勃繁荣的周边生态,历经 30 年而不息。作为面向分析和人工智能的下一代统一型开源数据库,Cloudberry Database 很荣幸参与到 PostgreSQL 生态中来,后续我们也将持续分享更多 PostgreSQL 技术原理和动态,敬请期待。
关于 Cloudberry Database
Cloudberry Database(可简称为“CBDB”或“CloudberryDB”)是面向分析和 AI 场景打造的下一代统一型开源数据库,搭载了 PostgreSQL 14.4 内核,兼容 PostgreSQL 和 Greenplum Database 生态,采用 Apache License 2.0 许可协议,目前源码已公开。GitHub 地址:
https://github.com/cloudberrydb/cloudberrydb 官网主页:https://cloudberrydb.org/