Pigsty v3.7.0 正式發布了,這次更新帶來了完整的 PostgreSQL 18 支持,以及四個新的操作系統支持:Debian 13 / EL 10 與 x86/ARM 架構的四種排列組合。與此同時,Pigsty 支持的擴展插件數量也從之前的 423 個達到了 437 個,大量擴展版本都批量更新至最新版本。
此外,Supabase,IvorySQL,PolarDB,Percona TDE 內核也都升級到了最新的版本。Prometheus,Grafana,DuckDB,Etcd 等基礎組件也都進行了一次集中式的批量更新。
順帶一提,融合了8大內核,400+擴展,以及完整 RDS 生態的 PostgreSQL 發行版,將讓 PostgreSQL 進入全盛形態 —— Pigsty 最近憑借在 PostgreSQL 擴展生態的突出貢獻,獲得了 “PostgreSQL 萬磁王” 獎。
![]()
![]()
PostgreSQL 18 上位
在 《》中,老馮說過 PG 18.1 發布之后,可以開始在新的業務中生產使用了。這不,Pigsty v3.7 就將 PG18 正式作為了默認的版本。
PG 18 有一些給力的新特性,時態主鍵,UUIDv7 內置,索引跳躍掃描,異步 AIO,虛擬生成列,Explain 增強,OAuth 2.0 支持,如果你用到了這些特性,那么確實應該考慮升級到 PG 18 了。
與此同時,11 月發布的 PG 13.23 將會是 PG 13 的最后一個版本,PG 13 將會退出歷史舞臺,停止支持。 老馮倒是沒有著急把 PG 13 給剔除出去,但 Pigsty v3.7 會是最后一個支持 PG 13 的版本了。 為了告別 PG 13, 老馮特意把所有的擴展都重新編譯了一遍,以后倉庫里的 PG 13 擴展就不會再更新了。
擴展更新
要支持 PG 18 可不是一件容易的事情,實際上老馮在 PG 18beta 剛發布的時候就提供了部署支持,但能用內核,和能上生產是兩回事,要想作為默認主力版本使用, 還有很多工作,比如擴展支持。目前主要的擴展除了 Citus 之外,都已經支持了 PG 18,老馮自己也修了幾十個擴展,以及拉齊 40 個 Rust 擴展的 pgrx 版本。
這次更新可以說是一次史詩級更新。背后有許多的苦力活兒,但總算是搞定了。目前 PG18 上的可用擴展數量大概在 390 ~ 405,不同發行版會有細微差別。你可以在老馮的新項目《》上找到完整的擴展可用信息。最近三個月以來的擴展更新情況如下表所示:
![]()
有一些擴展出現了里程碑式的更新,例如 pg_duckdb 1.1, pg_mooncake 0.2, vchord 1.0, pg_search 0.20。最讓老馮欣慰的就是 DuckDB 全家桶的兩個擴展,pg_mooncake 現在用 Rust 重寫了,成為了 pg_duckdb 的子擴展,也就是說兩個擴展現在可以并存了。而且 pg_duckdb 1.0 發布之后,代碼質量改善了不少,之前在 EL8 上不可用,現在也可以正常使用了。
![]()
擴展打包是一件很辛苦的事情,支持 PG18,Debian 13,EL10,看上去輕飄飄一句話,實際上這意味著排列組合從原來的(PGSQL 5 x Linux 10)變為 (PGSQL 6 x LINUX 14),擴展的編譯測試矩陣從 50 個變成了 84 個,增加了 68%,結果是老馮倉庫里的 RPM/DEB 包的數量從四萬多個變為六萬多個。
為了避免重復勞動,老馮特意花了兩周時間,把整個擴展構建流程給自動化掉了。現在只要拉起一個容器,然后 pig build pkg
立即就可以完成擴展的構建,比以前要輕松太多了。
最棒的是,這個擴展倉庫和構建基礎設施也是可以獨立使用的。即使你不使用 Pigsty,也可以單純使用 YUM / APT 安裝這些擴展擴展。所有代碼使用 Apache-2.0 寬松許可證開源,也歡迎同行使用。憑借這一貢獻, Pigsty 在第八屆 PostgreSQL 數據庫生態大會上獲得 “PostgreSQL 萬磁王” 獎。
![]()
操作系統:EL10,D13
在 Pigsty 3.7 中,支持了四個新的操作系統,Debian 13 ,EL 10,以及 x86 / Arm64 的四種排列組合。主線系統支持達到了 14 個。這里面其實也有一些挑戰,新的系統有時候就是缺這缺那的。
舉個例子,之前 EL10 剛發布的時候,老馮就想去支持了,但是蛋疼的是 EL10 的 ansible 包還是不全的。等了幾個月還是這個鳥樣子,老馮決定不等了,自己把 Ansible 的包給移植過來。所以在 Pigsty 的倉庫里,el10 現在提供了一個 ansible 虛擬包,老馮把 EL9 的 ansible-collection-community-crypto 拉下來給 el10 打了包,總算是解決了 EL10 上的 ansible 問題。
說起 Ansible ,最近有一些用戶遇到了另一個扯淡的問題,Ansible 2.19 版本進行了大量的不兼容重構,很多原來的語法都開始報錯了。結果老馮為了找出讓新老版本都能工作的寫法,進行了大量的適配 —— 還好有 Claude Code。在 Pigsty v3.7 中,新老版本的 Ansible 現在都可以正常工作了。
![]()
當然,其實還有許多非常扯淡的問題需要解決,比如 el9/el10 上 PGDG 倉庫把原來的 LLVM19 升級到 LLVM20,這就引入了一些不兼容的地方,想要在這幾個系統上安裝最新的 PG,你還要卸載掉系統自帶的 bpftools 和 python-perf 才行。然后 el10.aarch64 的PGDG 倉庫也調整了好幾輪。PGDG extras 倉庫也換了位置。這里的細節實在是太多了。包括阿里云 Docker 鏡像倉庫 Break,還有其他一些亂七八糟的細節。
這也是老馮不建議普通用戶自己去折騰 PG 部署的一個原因,很多時候乃翻車并不是做錯了什么,而是。有時候一更新,依賴就 Break 了。需要有人來擦屁股,避免這個問題的最好方式,就是使用 Pigsty 提供的離線安裝包,把正常時刻下的所有包和依賴都拉下來,確保始終可以 Work。
另一個變化是,這個版本將是 EL8/Debian11/Ubuntu20 最后一個活躍維護的 Pigsty 版本。老馮的策略是對 EL,Debian,Ubuntu 都只維護最近兩個大版本,既然 EL10 和 Debian 13 上位了,那么 EL8 和 Debian 11 就自然也要退休了。 支持不會移除,只是不會再更新了,新的擴展包,測試流程都不會再包含 EL8,Debian11,Ubuntu20。當然,有需要的企業用戶,老馮也可以對這些老系統提供長期支持服務。
Supabase,IvorySQL,PolarDB,Percona
當然,除了原生的 PG 內核之外,Pigsty v3.7 還更新了 Supabase,IvorySQL ,PolarDB,Percona 內核的版本。
Pigsty 自建 Supabase 模板里,所有的 Docker 鏡像已經更新到了最新版本,而且底層使用的 PG 版本也升級到了 PG18。IvorySQL 從 4.5 升級到了 5.0,兼容 PG 18.0 。 Percona 的 TDE 透明加密內核也從 PG 17.5 兼容升級到了 18.1 兼容。此外 PolarDB 發布了 15.15.5.0 版本,并在老馮的 push 下提供了 Debian 13 / EL10 的 RPM/DEB 包。
此外,提供 MongoDB 兼容性的 FerretDB 也更新到了 2.7 版本,底層使用的 DocumentDB 升級到 0.107 。這里遺憾的是雖然老馮已經提給微軟上游 0.107 PG 18 支持的 Issue 修復了,但 FerretDB 還沒有合并,所以目前還不支持 PG 18 。OpenHalo,OrioleDB 內核沒有更新,但也新支持了 Debian 13 與 EL 10。
![]()
令人高興的是,這些內核都可以絲滑的在新的操作系統上使用(Babelfish 除外)。這更進一步奠定了 Pigsty “元發行版” —— Meta Distribution 的生態位。你可以在這里開箱即用地嘗鮮各種不同風味的 PG 發行版 —— Supabase,Percona,等等……。
參數改進
此外,Pigsty 默認的參數模板也針對 PG 18 和一些新的場景進行了優化。例如,我們優化了 CPU,進程,線程,并行查詢的相關參數,確保各種擴展都有足夠的 worker 可用,并且放寬了 OLTP 模板對并行查詢的限制。
相關的參數優化說明,現在都在文檔中進行了詳細說明,我們還提供了一些關于 維護保養,故障排查,誤刪處理等問題的 SOP 。
![]()
愿景:PG 生態的 Ubuntu
以上,就是 Pigsty v3.7 帶來的改進。v3.7 已經解決了 PostgreSQL 數據庫內核/擴展的硬骨頭問題,本來,按照過往的習慣,當 PostgreSQL 默認大版本更新時,應該同樣更新 Pigsty 的大版本號,從 v3 跳到 v4 ,不過考慮到還有一些命令行工具,日志系統的未竟事宜,v4.0 版本號就留給下一個版本吧。
在接下來的 4.0 版本中,我們將視情況引入日志系統的升級,提供更好的命令行管理工具,vllm 部署本地 Embedding / Rerank 模型的能力。
![]()
愿景:PG 生態的 Ubuntu
目前在 PostgreSQL 生態的中國開源項目中(內核,擴展,發行版),Pigsty 已經成為 Star 數最高最大的開源項目,在國際上也有了不少知名度與影響力了。
![]()
老馮的愿景是,將 Pigsty 做成 PostgreSQL 世界中的一個主流發行版。《》占據 Debian,Ubuntu,RedHat 這樣的生態位。
![]()
實際上,我覺得通過精準定位,錯位競爭,完全可以做到這一點。老馮的基本策略就是:做最硬的場景 —— 原生 Linux 上的大規模生產 PostgreSQL 管理。提供獨一無二的東西:監控系統與擴展生態;同時整合其他的 PostgreSQL 發行版能力(融合了 Supabase 和 Percona 兩個發行版);以及兼顧易用性,優化開發者體驗。
Claude 4 Opus:PostgreSQL 發行版生態分析
![]()
Gemini 3 Pro:PostgreSQL 發行版生態分析
![]()
不過要想走到那一步,也不是老馮一個人就能完成的。老馮在這里也感謝各位客戶與用戶在過去對 Pigsty 與老馮的大力支持。我也會繼續努力,交付更好的服務與產品~。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.