PostgreSQL 即将迎来哪些新功能?🐘
PostgreSQL 是一种功能强大、可靠且高度可扩展的开源关系型数据库管理系统,三十多年来一直是数据库领域的中流砥柱,在开发人员和组织中赢得了忠实的追随者,其使用案例越来越多。

在过去的几年里,随着 Vercel 和 Cloudflare 等“全球规模” P/IaaS 的重要性日益增加,许多基于 MySQL 或 SQLite 的解决方案(如Planetscale、Turso 和 Cloudflare D1)凭借其无服务器架构、全球冗余承诺、无限存储和易于扩展的特性而引起轰动。
与此同时,PostgreSQL 正在经历一系列变革,这些变革可能会重新定义其在数据库领域中的角色。
在本文中,我们将探讨一些塑造 PostgreSQL 未来的激动人心的发展,重点关注 Supabase、Neon、ParadeDB 和 AWS 等公司的贡献。
计算和存储分离
PostgreSQL 生态系统最重要的进步之一在于计算和存储的分离。Neon、AWS 以及最近的 Supabase 等公司正在率先采用这种方法,这带来了诸多好处:
- 水平可扩展性:只需添加更多计算节点即可让系统处理增加的负载,而不会影响性能。
- 经济高效的扩展:这种分离允许根据特定的工作负载要求独立扩展计算和存储资源,从而优化成本并可能将存储卸载到 S3。
- 无缝复制和高可用性:解耦架构简化了复制并实现了高可用性设置。
- 分支和改进的开发人员体验:存储层可以轻松分叉并附加到新的计算实例,从而促进分支并增强开发工作流程。
为了更深入地了解这种架构的优势和影响,我建议您阅读David Gomes 的这篇富有洞察力的博客文章及其链接的资源。
Neon 已经使用这项技术提供了可用于生产的 postgres 无服务器产品,全部开源,请跳转到他们的hello-world帖子以了解他们的方法概述。
可插入存储和改进的表引擎
每个数据库的核心都是其表引擎。Postgres 12 引入了对“可插拔存储”
的基本支持,以便为同一数据库中的不同表定义不同的表引擎。
这释放了使用单个 PostgreSQL 实例用于各种用例的潜力,从 OLAP 和 AI 向量搜索到日志搜索,而不会影响性能或存储效率。
然而,最初的实施存在局限性,停滞不前,并未完全实现其目标。
一些解决方案(例如 CitusData 的列式存储)利用了这个初始 API,但对核心 PostgreSQL 功能有显著的限制。
Oriole正式亮相。Oriole于 2024 年 4 月
被 Supabase 正式收购,旨在作为现有存储引擎的直接替代品,带来显著的性能提升和高级功能。它减少了 I/O(实现了存储和计算的分离),支持页级数据压缩,并引入了索引组织表。
create extension orioledb; -- enable the extension
create table posts (
id int8 not null,
title text not null,
body text not null,
primary key (id)
) using orioledb; -- Specify the storage format
Oriole 团队正在积极推动可插拔存储方面的贡献,在 PostgreSQL 12 中发起的努力的基础上,创建更加集成的扩展生态系统,在标准 PostgreSQL 实例上支持更多高级扩展和用例。
关于我们
我们的项目Meteroid是一个现代化的开源计费平台,专注于商业智能和可操作的见解。
为了让用户无需依赖我们完整的 SaaS 基础设施(包括 Clickhouse 集群)即可自行托管,我们一直在研究如何在所有不同的用例中更深入地利用 Postgres。我们决定通过这篇博文分享一些关于 Postgres 生态系统的发现。
如果你有时间,请考虑在 Github 上给我们点赞⭐️!这对我们帮助很大❤️
扩展 PostgreSQL:OLAP、AI、搜索及其他
PostgreSQL 扩展生态系统近年来取得了显著的成就。以下是两个值得注意的例子:
-
pgvector
:这项由社区驱动的成果提供了一种向量数据类型,并提供了高维向量的搜索功能。尽管其代码库相对较小,但其pgvector
性能却可与许多专用向量数据库相媲美。 -
ParadeDB:这个开源 PostgreSQL 扩展是用 Rust 实现的,在OLAP(缩小与 ClickHouse 的差距)和搜索(在某些基准测试中优于 Elasticsearch)用例中均提供了出色的结果。
借助新的可插拔存储模型,这些扩展和许多其他扩展可以轻松添加到任何 PostgreSQL 实例中,甚至可以相互交互,解锁强大的组合并使 PostgreSQL 能够有效地处理各种工作负载。
Postgres 社区中还有许多其他项目,涵盖了新兴的用例。以下是一些示例:
-
electric-sql(CRDTs 背后的人员)正在 postgres 和本地/嵌入式 SQLite 数据库之间构建同步层,以构建本地优先应用程序,这是向动态和即时本地应用程序的范式转变
-
AWS RDS 团队创建了可信语言扩展(pg_tle),旨在让依赖云托管数据库的用户更容易使用 Postgres 扩展。这对于开源/自托管社区来说意义重大,因为在此之前,在扩展之上构建可能会使部署变得更加复杂。
一些可供深入研究的资源
-
Scaling Postgres,Creston Jamison 的 YouTube 播客,包含大量有关 Postgres 生态系统的讨论和新闻精选
-
pg 正在吞噬数据库世界,来自 @fengruohang 的一篇详尽博客文章,旨在了解 Postgres 在生态系统中的独特地位
未来可能是统一的,也可能是分布式的
随着应用程序变得越来越全球化和复杂,对分布式、多用途数据库的需求比以往任何时候都更加迫切。
Postgres 拥有极其强大的可扩展核心,加上庞大的社区和众多业内人士的共同努力,带来了令人瞩目的进步。从计算和存储分离到全新的可插拔存储,再到日益增多的跨语言和跨领域的强大扩展,Postgres 已准备好成为全球性、整体性数据库解决方案的有力竞争者,以满足现代软件开发的需求。
PostgreSQL 的未来可能不仅仅是成为一个可靠且功能丰富的数据库,而是成为构建快速、可扩展且能够适应企业和用户不断变化的需求的应用程序的催化剂。

希望你喜欢这篇文章!如果你觉得它有帮助,别忘了给我们的代码库点个星!你的支持对我们意义重大。
干杯!
文章来源:https://dev.to/meteroid/the-elephant-in-the-room-what-future-for-postgresql--gcf