跳过正文
Pigsty v3.6:全能PG发行版的关键一步
  1. Pigsty 数据库发行版/

Pigsty v3.6:全能PG发行版的关键一步

·4144 字·9 分钟· ·
冯若航
作者
冯若航
Pigsty 创始人, @Vonng
目录
Pigsty - 这篇文章属于一个选集。
§ : 本文

GitHub Release | 发布注记 | 微信公众号

Pigsty v3.6 正式发布。历经两个月的精心打磨,这将是 v4.0 之前的最后一个主要版本,进行了大量重构与改进,为打造终极全能 PostgreSQL 发行版奠定了坚实基础。

本版本对 PostgreSQL、MinIO、Etcd 的部署任务进行了深度优化与重构,新增了 Percona PG TDE 内核支持,提供开箱即用的透明加密功能。此外,Supabase 自建体验得到全面优化,彻底移除了幂等剧本中的"删库"功能,并新增全自动 pgsql-pitr 剧本用于一键时间点恢复。

安装流程也进一步简化:从四步走变为三步走(下载、配置、安装),且默认采用在线安装模式,可跳过本地软件仓库的构建过程。


全新内核支持:Percona PG TDE
#

Percona 的 pg_tde 扩展经过数年长跑,终于正式发布 1.0 GA 版本。许多"企业级" PostgreSQL 发行版以"透明加解密"作为核心卖点,而 pg_tde 可能是第一个足够成熟的开源透明加密扩展,为开源 PostgreSQL 提供了真正意义上的企业级透明加密解决方案。

目前该扩展需要运行在打过补丁的 PostgreSQL 内核上 —— 即 Percona 的 Postgres 发行版。Pigsty 在官宣后即刻完成了支持,只需两行命令即可启用并安装,同时享受 Pigsty 提供的完整 RDS 能力:监控、高可用、PITR、IaC 等,与原生 PG 内核别无二致。

至此,Pigsty 支持的 PostgreSQL 内核数量已达到 10 个

Pigsty 已成为 PostgreSQL 发行版的发行版 —— 一个"元发行版"。各家 PostgreSQL 分支内核均可在 Pigsty 的加持下,转化为具备高可用、监控、IaC、PITR 能力的"企业级数据库服务"。


扩展生态持续强化
#

除 Percona 透明加密内核外,OrioleDB 也发布了 1.5 beta12 版本,Supabase CEO 透露其即将正式 GA。Pigsty 已第一时间编译了 OrioleDB 补丁版本的 PG 及其扩展。

另一个值得关注的扩展是 pgactive —— 由 AWS 开发并开源的 PG 多活扩展,声称解决了亚秒级高可用切换问题。该扩展依赖缺失的 pgfeutils,编译有一定门槛,Pigsty 已提供开箱即用的二进制包。

可用扩展数量达到 423 个。PG18 beta2、OrioleDB、TimescaleDB、Citus、FerretDB & DocumentDB、DuckDB、Etcd 等均完成例行版本更新。

扩展目录站点也已全面翻新,采用 Next.js 重构,观感大幅提升,新地址:https://pgext.cloud


Supabase 自建体验优化
#

Pigsty v3.6 提供了更流畅的 Supabase 自建体验,并修复了 Supabase 官方模板中的若干问题:

  • logflare 复制槽不推进
  • 大量打印错误日志
  • Studio 无法查看两项 Analytics 日志

生产级 Supabase 自建只需几行命令即可完成:

此外,Pigsty 现默认使用由 1Panel 提供的 Docker 镜像站点,国内下载速度显著提升。

目前 Pigsty 和 StackGres 是仅有的两个自建 Supabase 方案的开源供应商:Pigsty 基于裸 Linux 系统交付,StackGres 基于 Kubernetes 交付。


PITR 恢复增强
#

此前版本中,Pigsty 提供 pg-pitr 脚本用于"半自动"辅助 PITR 恢复。本版本新增了全自动的 pgsql-pitr 剧本,实现一键时间点恢复。

该剧本会自动执行以下操作:

  • 暂停高可用切换
  • 关闭 PostgreSQL
  • 生成并执行 pgbackrest PITR 恢复命令至指定目标位点
  • 校验后重新拉起 PostgreSQL
  • 重新启用高可用切换

支持快速重试(原地增量),便于精确定位恢复位点。同时新增了一种新用例:在新启动的实例(或摘下的从库)上执行 PITR 恢复,避免影响现有业务,然后从新实例抽取数据手工导入。


ETCD 管理简化
#

本版本对 Etcd 模块进行了重构,新增独立的 etcd-rm.yml 剧本与扩缩容 SOP 脚本。

此前扩缩容 etcd 涉及一系列复杂的命令操作,现在只需简单几条命令:

bin/etcd-add              # 创建 etcd 集群,或刷新现有集群状态
bin/etcd-add 10.10.10.11  # 扩容 etcd 集群,新增一个成员
bin/etcd-rm               # 移除整个 etcd 集群
bin/etcd-rm 10.10.10.11   # 将指定成员从集群中移除

etcd.yml 剧本现不再清理现有 ETCD 集群,清理工作由专门的 roles 与剧本实现,维护变得更加简单明了。


MinIO 模块改进
#

MinIO 模块进行了重构,新增 Plain HTTP 模式,并调整了默认桶与用户配置。

此前版本默认为 MinIO 启用 HTTPS(通过本地 CA 签发自签名证书),可避免内网流量窃听,但也带来一些烦恼:Pigsty 管理节点之外的客户端(如容器)需要信任该 CA 才能访问 MinIO。

本版本新增开关,允许 MinIO 运行在纯 HTTP 模式下。需注意:pgbackrest 不接受 HTTP 模式的 MinIO,若使用本地 MinIO 存储 PG 备份仍需 HTTPS 模式。HTTP 模式仅适用于纯粹给外部服务使用的场景。

默认桶配置也进行了调整:

原配置新配置
pgsql, infra, redispgsql, meta, data

同时为 metadata 桶创建了专用用户 s3user_metas3user_data,并为每个桶创建同名策略。如此设计下,Supabase、Dify 等应用可直接使用这两个桶,无需手动创建。


安装流程简化
#

安装步骤从四步简化为三步:

原流程新流程
下载 → 引导 → 配置 → 安装下载 → 配置 → 安装

“引导"步骤(解压离线软件包或配置上游软件仓库以安装 Ansible)已合并到下载脚本中,执行安装脚本时会自动执行 ./bootstrap

curl -fsSL https://repo.pigsty.io/get | bash; cd ~/pigsty; ./configure; ./install.yml


默认在线安装
#

默认安装策略发生变化:不再先下载到本地再安装,而是直接从互联网上游安装。

这一改变带来显著好处:

  • 减少出错点:许多用户反馈的安装报错都发生在本地 Repo 下载和 Nginx 服务拉起阶段(如 el9.aarch64 上 PGDG 配置错误导致的 patroni-etcd 安装失败)
  • 提升速度:只下载真正需要安装的包,而非一次性下载所有包
  • 简化配置:无需处理 Nginx 的安全策略和防火墙配置问题

大比例用户在单节点 Linux 上安装 Pigsty,“不需要"本地软件仓库提供的多节点一致性。需要本地仓库的用户可通过简单配置(repo_enablednode_repo_modules)重新启用,或直接使用默认启用本地仓库的 rich / full 模板。


全新文档站
#

全新文档站点已上线:https://doc.pgsty.com

该站点采用 Next.js 与 Fumadocs 现代前端技术栈打造,感谢兰天游与 Claude Code 的强力助攻。英文版已基本完工,中文版正在翻译建设中。欢迎通过 GitHub PR 或 Issue 参与贡献。


其他改进
#

  • tuned 模块优化:针对现代硬件与 NVMe 磁盘进行优化,移除过时配置参数,新增 NVMe / 虚拟化 SSD 的调度/预读参数优化
  • MCP Toolbox 集成:集成了 Google 新发布的 MCP Toolbox(数据库 MCP 工具箱),预置模板 SQL 解决部分数据库安全性问题
  • 配置模板调整:所有配置模板调整为单节点模式,便于快速上手

下一步:v4.0 与 DBA Agent
#

PostgreSQL 18 将于今年 9 月发布,Pigsty 计划在 PG 18 发布后正式发布 v4.0 版本,主要改进方向:

领域计划
CLI 工具pig 完整封装 Ansible 剧本功能,接口初步定型
监控系统VictoriaMetrics / VictoriaLogs 替代 Prometheus / Loki
日志收集vector 替代过时的 promtail
门户组件考虑使用 Caddy 替代 Nginx(待定)

v4.x 的主旋律将是 DBA Agent。Pigsty 已具备 DBA Agent 所需的完整上下文,核心正是这套 PG 最强监控系统。待文档中沉淀的领域知识足够丰富,为 Pig 命令行工具套上 MCP,一个能打的全自动驾驶数据库 DBA Agent 便将诞生。



v3.6.0
#

Pigsty v3.6.0 版本发布,全新文档站与 PITR 增强!

curl https://repo.pigsty.cc/get | bash -s v3.6.0

亮点特性
#

  • 全新文档站:https://doc.pgsty.com
  • 新增 pgsql-pitr 剧本与备份/恢复教程,改善 PITR 体验
  • 新增内核支持:Percona PG TDE (PG17)
  • 优化 Supabase 自建体验,更新至最新版本,并解决了一系列官方模板的问题
  • 简化安装步骤,默认使用在线安装,更加高效简单,bootstrap 过程(安装ansible)嵌入安装脚本中

设计改进
#

  • 改善了 Etcd 模块的实现,新增独立的 etcd-rm.yml 剧本与扩缩容 SOP 脚本
  • 改善了 MinIO 模块的实现,支持 HTTP 模式,创建不同属性的三个桶供开箱即用
  • 重新调整梳理了所有配置模板,使用更为便利
  • 针对中国大陆使用速度更快的 Docker Registry 镜像站
  • 优化了 tuned 操作系统参数模板,针对现代硬件与 NVMe 磁盘优化
  • 新增扩展 pgactive 用于多主复制与亚秒级故障切换
  • 调整 pg_fs_main / pg_fs_backup 默认值,简化文件目录结构设计

问题修复
#

  • 修复了 pgbouncer 配置文件的错误 by @housei-zzy
  • 修复了 OrioleDB 在 Debian 平台上的问题
  • 修复了 tuned shm 配置参数的问题
  • 离线软件包直接使用 PGDG 源,避免使用断开同步的镜像站点
  • 修复了 IvorySQL libxcrypt 依赖的问题
  • 替换了破损与缓慢的 EPEL 软件仓库站点
  • 修复了 haproxy_enabled 标记位的功能

基础设施软件包更新
#

新增 Victoria Metrics / Victoria Logs 相关包:

  • genai-toolbox 0.9.0 (new)
  • victoriametrics 1.120.0 -> 1.121.0 (重构)
  • vmutils 1.121.0 (重命名 victoria-metrics-utils)
  • grafana-victoriametrics-ds 0.15.1 -> 0.17.0
  • victorialogs 1.24.0 -> 1.25.1 (重构)
  • vslogcli 1.24.0 -> 1.25.1
  • vlagent 1.25.1 (新增)
  • grafana-victorialogs-ds 0.16.3 -> 0.18.1
  • prometheus 3.4.1 -> 3.5.0
  • grafana 12.0.0 -> 12.0.2
  • vector 0.47.0 -> 0.48.0
  • grafana-infinity-ds 3.2.1 -> 3.3.0
  • keepalived_exporter 1.7.0
  • blackbox_exporter 0.26.0 -> 0.27.0
  • redis_exporter 1.72.1 -> 1.77.0
  • rclone 1.69.3 -> 1.70.3

数据库软件包更新
#

  • PostgreSQL 18 Beta2 更新
  • pg_exporter 1.0.1,更新至最新依赖并提供 Docker 镜像
  • pig 0.6.0,更新了最新扩展与仓库列表,带有 pig install 子命令
  • vip-manager 3.0.0 -> 4.0.0
  • ferretdb 2.2.0 -> 2.3.1
  • dblab 0.32.0 -> 0.33.0
  • duckdb 1.3.1 -> 1.3.2
  • etcd 3.6.1 -> 3.6.3
  • ferretdb 2.2.0 -> 2.4.0
  • juicefs 1.2.3 -> 1.3.0
  • tigerbeetle 0.16.41 -> 0.16.50
  • pev2 1.15.0 -> 1.16.0

PG 扩展包更新
#

  • OrioleDB 1.5 beta12
  • OriolePG 17.11
  • plv8 3.2.3 -> 3.2.4
  • postgresql_anonymizer 2.1.1 -> 2.3.0
  • pgvectorscale 0.7.1 -> 0.8.0
  • wrappers 0.5.0 -> 0.5.3
  • supautils 2.9.1 -> 2.10.0
  • citus 13.0.3 -> 13.1.0
  • timescaledb 2.20.0 -> 2.21.1
  • vchord 0.3.0 -> 0.4.3
  • pgactive 2.1.5 (new)
  • documentdb 0.103.0 -> 0.105.0
  • pg_search 0.17.0

API 变更
#

  • pg_fs_backup:重命名为 pg_fs_backup,默认值为 /data/backups
  • pg_rm_bkup:重命名为 pg_rm_backup,默认值为 true
  • pg_fs_main:现在默认值调整为 /data/postgres
  • nginx_cert_validity:新增参数,用于控制 Nginx 自签名证书的有效期,默认为 397d
  • minio_buckets:默认值调整为创建名为 pgsqlmetadata 的三个桶。
  • minio_users:移除 dba 用户,新增 s3user_metas3user_data 用户,分别对应 metadata 桶。
  • minio_https:新增参数,允许配置 MinIO 使用 HTTP 模式。
  • minio_provision:新增参数,允许跳过 MinIO 置备阶段(跳过桶和用户的创建)。
  • minio_safeguard:新增参数,启用后会在执行 minio-rm.yml 时中止操作。
  • minio_rm_data:新增参数,控制在执行 minio-rm.yml 时是否删除 minio 数据目录。
  • minio_rm_pkg:新增参数,控制在执行 minio-rm.yml 时是否卸载 minio 软件包。
  • etcd_learner:新增参数,允许 etcd 以学习者身份初始化。
  • etcd_rm_data:新增参数,控制在执行 etcd-rm.yml 时是否删除 etcd 数据目录。
  • etcd_rm_pkg:新增参数,控制在执行 etcd-rm.yml 时是否卸载 etcd 软件包。

校验和
#

df64ac0c2b5aab39dd29698a640daf2e  pigsty-v3.6.0.tgz
cea861e2b4ec7ff5318e1b3c30b470cb  pigsty-pkg-v3.6.0.d12.aarch64.tgz
2f253af87e19550057c0e7fca876d37c  pigsty-pkg-v3.6.0.d12.x86_64.tgz
0158145b9bbf0e4a120b8bfa8b44f857  pigsty-pkg-v3.6.0.el8.aarch64.tgz
07330d687d04d26e7d569c8755426c5a  pigsty-pkg-v3.6.0.el8.x86_64.tgz
311df5a342b39e3288ebb8d14d81e0d1  pigsty-pkg-v3.6.0.el9.aarch64.tgz
92aad54cc1822b06d3e04a870ae14e29  pigsty-pkg-v3.6.0.el9.x86_64.tgz
c4fadf1645c8bbe3e83d5a01497fa9ca  pigsty-pkg-v3.6.0.u22.aarch64.tgz
5477ed6be96f156a43acd740df8a9b9b  pigsty-pkg-v3.6.0.u22.x86_64.tgz
196169afc1be02f93fcc599d42d005ca  pigsty-pkg-v3.6.0.u24.aarch64.tgz
dbe5c1e8a242a62fe6f6e1f6e6b6c281  pigsty-pkg-v3.6.0.u24.x86_64.tgz

更多版本信息请参考 GitHub 发布页面


v3.6.1
#

Pigsty v3.6.1 版本发布,PostgreSQL 小版本更新!

curl https://repo.pigsty.cc/get | bash -s v3.6.1

亮点特性
#

  • PostgreSQL 17.6, 16.10, 15.14, 14.19, 13.22, 以及 18 Beta 3 支持
  • 在中国大陆地区使用 Pigsty 提供的 PGDG APT/YUM 镜像解决更新断供问题
  • 新的网站首页:https://pgsty.com
  • 增加了 el10, debian 13 的实现存根,以及 el10 的 Terraform 镜像

基础设施软件包更新
#

  • Grafana 12.1.0
  • pg_exporter 1.0.2
  • pig 0.6.1
  • vector 0.49.0
  • redis_exporter 1.75.0
  • mongo_exporter 0.47.0
  • victoriametrics 1.123.0
  • victorialogs: 1.28.0
  • grafana-victoriametrics-ds 0.18.3
  • grafana-victorialogs-ds 0.19.3
  • grafana-infinity-ds 3.4.1
  • etcd 3.6.4
  • ferretdb 2.5.0
  • tigerbeetle 0.16.54
  • genai-toolbox 0.12.0

数据库软件包更新
#

  • pg_search 0.17.3

API 变更
#

  • node_kernel_modules 默认值中移除 br_filter 内核模块。
  • 在添加 PGDG YUM 源时使用操作大版本号,不再使用小版本号。

校验和
#

045977aff647acbfa77f0df32d863739  pigsty-pkg-v3.6.1.d12.aarch64.tgz
636b15c2d87830f2353680732e1af9d2  pigsty-pkg-v3.6.1.d12.x86_64.tgz
700a9f6d0db9c686d371bf1c05b54221  pigsty-pkg-v3.6.1.el8.aarch64.tgz
2aff03f911dd7be363ba38a392b71a16  pigsty-pkg-v3.6.1.el8.x86_64.tgz
ce07261b02b02b36a307dab83e460437  pigsty-pkg-v3.6.1.el9.aarch64.tgz
d598d62a47bbba2e811059a53fe3b2b5  pigsty-pkg-v3.6.1.el9.x86_64.tgz
13fd68752e59f5fd2a9217e5bcad0acd  pigsty-pkg-v3.6.1.u22.aarch64.tgz
c25ccfb98840c01eb7a6e18803de55bb  pigsty-pkg-v3.6.1.u22.x86_64.tgz
0d71e58feebe5299df75610607bf448c  pigsty-pkg-v3.6.1.u24.aarch64.tgz
4fbbab1f8465166f494110c5ec448937  pigsty-pkg-v3.6.1.u24.x86_64.tgz
083d8680fa48e9fec3c3fcf481d25d2f  pigsty-v3.6.1.tgz

更多版本信息请参考 GitHub 发布页面


Pigsty - 这篇文章属于一个选集。
§ : 本文

相关文章

Pigsty v3.0:海量扩展,插拔内核,RDS服务

·3520 字·8 分钟
Pigsty v3.0 提供了史无前例的 340 个可用扩展插件,并实现了Deb/EL生态插件大对齐,支持可插拔内核,提供 MSSQL,Oracle,PolarDB 兼容性模式,并提供本地优先的 SOTA RDS