喜报:Pigsty 项目刚刚喜提 4000 Star,对于一个数据库项目来说,算是难得的里程碑了。与此同时,本号关注数量突破 4万4千,感谢各位读者朋友的抬爱。

Pigsty v3.5 正式发布,4000+ GitHub Star 达成,全新文档网站,OrioleDB 和 OpenHalo 内核全平台可用,Supabase 自建优化,监控系统与架构优化,PG18 支持,例行 PG 小版本更新,苹果 ARM Vagrant 支持。
Pigsty 是什么?
Pigsty 是一个开箱即用的 PostgreSQL 数据库发行版,是数据库的自动驾驶软件,可以让你在本地一键用云 RDS 1/10 不到的成本,在没有专业 DBA 的情况下,拉起企业级 PostgreSQL 数据库服务,带有高可用, PITR,监控系统,IaC,以及 421 个 PG 生态的扩展插件,直接运行在 10 个主流 Linux 发行版上而无需容器或 Kubernetes 支持。


PostgreSQL 18 支持
PostgreSQL 18 beta1 已经发布了,正式版本将会在今年 9 月份发布。 PG 18 带来了 AIO,Oauth 等各种强力新特性,而现在你已经可以在 Pigsty 中尝鲜了 (但切莫用于生产环境)。当然,还有 17.5, 16.9, 15.13, 14.18, 13.21 例行小版本更新支持。

Pigsty 提供了一个新的 pg18
配置模板,你可以直接使用它来拉起使用 PostgreSQL 18beta1 内核的高可用 RDS。我们的 pg_exporter[1] 最近也刚刚发布了1.0 版本,完整收录了 PG 18 的新监控指标。你也可以使用 pig 包管理器一键安装 PG 18 与 PGDG 中的相应扩展。
Supabase 自建优化
Pigsty 提供 “企业级” Supabase 自建能力,广受用户欢迎。欢迎程度超出我的预期 —— Supabase 自建教程的页面流量甚至比 Landing Page 还要大。所以在这个版本中,进一步优化了 Supabase 自建的流程。

首先,pgsodium
密钥管理已经嵌入到 Pigsty 中,你可以指定一个根密钥,或者提供一个密钥获取脚本,供 Supabase 依赖的 pgsodium 扩展使用,提供数据加密的能力。你还可以使用这个根密钥,派生出一系列子密钥进行使用。
第二我们解决了 Supabase Analytics logflare 组件的一个缺陷 —— 但它的系统表没有更新写入时,它不会去更新 WAL 消费进度,这就导致了复制槽会一直保留数据。我们无法修改 logflare 的实现,但可以通过一个预置的定时任务 supa-kick
去每分钟做一个 “假更新” 踢它一下,让他动一动。免得把磁盘撑爆了。
然后我们还跟进了 Supabase 相关的扩展版本,Docker 镜像版本。还帮几位用户把企业级高可用 Supabase 架构给扶上了马。
OpenHalo与OrioleDB
OpenHalo 内核在 PG 14 的基础上提供了 MySQL 兼容性,而 OrioleDB 内核则提供了云原生的无膨胀版本 PG。在之前的 v3.4 中,我只做了 RPM 包,不过现在经过试点,这两个内核在全部十个受支持的 Linux 系统上都可用了。
OrioleDB 已经被 Supabase 收购了,近日刚发布了第11个 Beta 版本。虽然这还没有成为 Supabase 默认使用的 PG 内核分支,但俺得提前准备好,确保 Supabase 即使哪天正式决定从原生 PG 切换到 OrioleDB,Pigsty 可以无缝的跟进。哈哈。
421 个扩展插件
扩展搜集大师最近又找到了一些新的好东西,在 Pigsty 中可用的扩展数量达到了 421 个!并且还对很多扩展版本进行了更新。值得一提的扩展有这些:
pgsentinel 是一个可观测性扩展,提供了类似 Oracle Active Session History 的功能,可以记录下每个会话的统计信息,以及一些等待事件。https://pgsty.com/ext/pgsentinel[2]
spat 则是一个非常有趣的扩展,它在 PG 中提供了类似 Redis 的接口,并且使用共享内存来提供类似于 Redis 的表现。这是一个很有趣的思路,欢迎大家来尝尝鲜,但它还处于 Alpha 阶段,切莫用于生产。
顺便一提,我还建设了一个新的 Extension 百科网站,比原来的版本更美观,全面。

全新的文档站点
Pigsty 的文档站基于 Next.js 进行了重制,从静态页面渲染跑步进入现代前端时代。你可以在 https://pgsty.com[3] 看到新的文档站点。不仅仅是形式上更新,在内容上也针对最新的 3.5 版本进行了一次完整的重写与梳理。清理修复了大量过时信息。

关于这段经历,我还写了篇《数据库老司机勇闯前端大观园》。pgsty.com 站点目前还只有英文,不过很快将会提供简体中文文档支持。
架构优化
除此之外, Pigsty v3.5 还对 PGSQL 实现进行了优化。合并减少了任务的数量,微调了可用的任务标签,统一了模板文件的名称,优化了现代 NVMe 环境下的系统与数据库参数默认值,并对 roles 分工进行了一些调整。
但这些内部实现细节对用户来说关系不大,一个主要的改动是,我们去掉 pgsql.yml 剧本删库的功能 —— 是的,从 v3.5 以后,没有那么多花里胡哨的安全阀,保险栓来避免你用 pgsql.yml 来删库了,要想删库,唯一的选择就是 pgsql-rm.yml 专用剧本。
例,重构后的 PGSQL 剧本任务:

例,重构后的 pgsql-rm.yml 剧本任务:

命令行优化
pig 这个命令行工具现在新增了一个 do
子命令,可以用来替代原来 pigsty/bin
目录下的包装小脚本,用一种统一的,标准化的方式去执行这些任务。

当然,目前还处于试点阶段,API 还没有最终固定下来,粗略的计划是会经过一段时间的打磨后,将 API 固定后正式发布文档列装。但如果你感兴趣,现在其实也可以用用试试。
监控优化
Grafana 可视化平台最近发布了 12.0 ,老实说 break 了不少东西,所以在监控上,我们也进行了许多改进。
首先,有许多来自 Oracle 老 DBA 向我提出,他们想看 AWR。我看过 Oracle 的 AWR,其实里面有的指标 PG 和 Pigsty 都提供了,只有一个例外就是等待事件。

PG 内核本身只提供了当前活动正在等待什么,但是没有过去一段时间的等待事件纪录。只能通过插件实现,pg_wait_sampling 还有上面提到的 pgsentinel 都提供了这个功能,我也在监控面板上提供了对等待事件分析的支持。
Apple Vagrant
Pigsty 提供了 vagrant terraform 沙箱模板,允许你在本地/云端轻松拉起所需的虚拟机资源。不过 vagrant virtualbox 一直以来 Apple 的 ARM 架构支持不足,有各种问题。不过在最近我重新测试了一下,vagrant + virtualbox 的组合在 AppleSilicon 上丝滑的运行起来了,真的是值得高兴的一件事。

当然,并不是所有的 Vagrant box 都提供了 ARM64 on Virtualbox 的支持,不过最主要的 EL9 和 Ubuntu 24.04 目前是支持的。这意味着用户可以在自己的苹果 macbook (无论是老的 Intel 还是新的 M几 ARM 架构)上丝滑的拉起虚拟机并运行 Pigsty 了。
发布注记

下个版本会有什么?
下一个版本可能是 v3.6,或者是 v4.0。 Pigsty v4.0 应该会随着九月份的 PostgreSQL 18 正式版一起发布。在那之前如果积累了足够的变更,则有可能会在7月/8月发布一个 v3.6 版本。
在下一个版本中,我计划添加最新发布的 EL 10 支持,因为 RHEL,RockyLinux,还有 AlmaLinux 都已经发布了 10 的大版本,因此会有不少工作要做 —— 例如针对 el10 编译打包所有的扩展。
另一个重要的变更是将日志收集的客户端从 promtail
更换为 vector
。无论是从成熟度还是生态上来说,vector 都要好用太多了。但这需要长时间的测试与验证,大版本变更就是一个推出的好契机。
当然,还有其他一些功能特性,比如 Pigsty 的 Docker 镜像支持,各种使用 PG 的新应用自建模板,PostHog,Teable 等…
此外,我在考虑如何进一步简化安装流程,例如,默认单机安装的情况下,我们可以跳过构建本地仓库并使用 Nginx 打造本地源的方式,直接从互联网上游安装所有软件,更省存储,更省流量,兼容性更好,也不用担心被乱七八糟的防火墙安全策略把本地 Nginx 给墙了的问题(真的在几个客户那里看到了这个问题)。另一个可以优化的地方是把 Bootstrap 的过程整个给嵌入到 install 脚本中,这样就变成了 Install Configure Deploy 三步走了。
另一个我在认真考虑的问题是放宽许可证限制,推出一个使用 Apache 的 Pigsty 轻量化版本,这样那些因为 AGPLv3 而无法使用的企业,或者软件集成商也可以轻松用起来了。

Pigsty v3.4发布:更好的备份与PITR,排序,基础设施与应用
Pigsty v3.3 发布:扩展遥遥领先,丝滑建站体验,Dify, Supabase, Odoo一键自建
Pigsty v3.2:命令行工具 pig,完备ARM支持,Supabase & Grafana 加强
Pigsty v3.1:Supabase自建,PG17上位,MinIO改进,ARM/Ubuntu24支持
Pigsty v3:海量扩展,可替换内核,RDS服务,助力PostgreSQL进入全盛时代!
Pigsty v2.6:PostgreSQL 踢馆 OLAP
Pigsty v2.5 发布:Ubuntu/Debian支持与监控改版/新扩展
Pigsty v2.3.1:HNSW PGVECTOR来了!
Pigsty v2.1 发布:向量扩展 / PG12-16 支持
Pigsty v2.0.2 更好的开源RDS替代:Pigsty
Pigsty v1正式发布:开箱即用的PostgreSQL开源发行版




