Pigsty v4.5:575 扩展、Kafka、MySQL、Valkey 与 Silo
Pigsty v4.5.0 是一次横跨数据服务、PostgreSQL 生态、自动化安全与软件供应链的功能版本:新增 Kafka KRaft 与 MySQL 8.4 试点模块,为 REDIS 模块加入 Valkey 引擎,将 MINIO 模块收敛到 Silo,并把已打包 PostgreSQL 扩展从 531 个推进到 575 个。
本次全量审阅以 v4.4.0(2d5a45f7,2026-07-10)到 main 的 dab5dba3(2026-08-14)为边界,共覆盖 100 个提交、416 个文件、42,058 行新增与 15,984 行删除。完整源码差异见 v4.4.0...dab5dba3。其中相当一部分结构化差异来自 Grafana Dashboard API v2 的整套重导出。
版本亮点
- 575 个 PostgreSQL 扩展:目录新增 46 项、移除 2 项,净增 44;大量 Rust 扩展迁移到 pgrx 0.19.1,RPM/DEB 平台覆盖与包名映射同步刷新。
- Kafka KRaft 模块:新增 Pigsty 原生 Kafka 编排,支持多集群、动态加入与退役、SCRAM-SHA-512/TLS、凭据轮换、健康门禁、监控告警与 4 个 Grafana 仪表盘。
- MySQL 8.4 模块:新增单机与三节点 InnoDB Cluster、MySQL Router、XtraBackup、账户与数据库置备、参数保护、监控告警与保守移除流程。
- Valkey 与 Silo:REDIS 模块增加
redis_type: valkey;MINIO 模块当前只接受minio_type: silo。开发周期内出现过的 RustFS 后端已在最终基线前撤回。 - 更安全的集群编排:PGSQL、REDIS、MINIO、KAFKA 与 MYSQL 按显式集群身份选择成员;etcd 委派、DBSU 密钥交换、PITR、备份标记和移除流程均进一步收紧。
- 可观测性升级:新增 Kafka 与 MySQL 面板,MinIO/Silo 迁移到 Metrics V3,
pg_exporter配置升级到 1.4 系列并补齐 PG19、事务年龄、锁、复制与清理压力指标。 - 仓库与供应链升级:本地仓库改由 SOW 原子生成,移除伪造 ModuleMD;离线包可携带版本化源码包;Infra 重打包统一 SHA-256 固定输入、SPDX 许可证与
1PGSTYrelease。 - 51 套独立配置模板:新增
demo/kafka、demo/mysql与八节点ha/octo,并将ha/trio更新为三节点 Silo 紧凑高可用拓扑。
Kafka KRaft 试点模块
新的 Kafka 模块 使用节点状态作为权威来源,以动态 KRaft 模式管理 Broker 与 Controller。它既支持同一清单中的多个 Kafka 集群,也支持直接运行 kafka.yml;不完整的 --limit 会被拒绝,避免只更新部分仲裁成员。
- 节点持久化权威 manifest 与 secrets,支持动态 Controller 加入、Broker 准入、成员退役和故障成员三阶段替换。
- 支持 SCRAM-SHA-512、TLS、证书和凭据轮换,并在变更后执行分区健康与协议自检。
kafka-rm.yml强制要求非空-l/--limit,在停服前校验绝对数据目录、目标身份与部分退役所需的幸存锚点。- 新增 JMX Exporter、Kafka Exporter、Victoria 抓取与告警规则,以及 Overview、Instance、Topic、Consumer 四套 Grafana 面板。
Kafka 仍属于试点模块。客户端必须能够直接解析并访问每个 Broker;Kafka 数据平面不能放在 HAProxy、VIP 或普通四层负载均衡器之后。
MySQL 8.4 试点模块
新的 MySQL 模块 面向固定的 MySQL 8.4 LTS 平台,支持单节点实例与三节点 InnoDB Cluster,并提供 MySQL Shell、MySQL Router、TLS、用户/数据库置备、XtraBackup 定时全备与统一监控。
- 初始化流程校验 1 或 3 个成员,建立集群、协调 Router,并以幂等方式处理已有成员和部分状态。
mysql_parameters会保护复制、TLS 与平台保留参数,不能通过loose_、skip_、disable_或enable_前缀绕过限制。mysql_databases仅接受name、encoding与collate,数据库固定使用DEFAULT ENCRYPTION='N'创建。- 移除流程先验证目标、仲裁与成员状态,再依次隔离、停服和清理;与其他模块不同,
mysql-rm.yml遇到无 MySQL 身份的目标会失败关闭。 - 新增 Overview、Cluster、Instance、Replication、Alert 五套 Grafana 面板及 mysqld_exporter 告警。
Valkey、Silo 与 Mongo 模式
Redis / Valkey
REDIS 模块保留 Redis 作为默认引擎,可通过 redis_type: valkey 显式选择 Valkey。Valkey 使用 valkey-server / valkey-cli 软件包,但配置路径、监控 job、服务接口和模块参数继续沿用 redis 命名,以兼容既有清单与仪表盘。
Redis/Valkey 的 systemd 单元改为 Type=notify,启动超时提高到 1800 秒;拓扑、主从关系、密码处理、标签化移除和重建保护也得到加强。
MINIO / Silo
MINIO 仍是兼容模块名,但 v4.5 的角色部署并且只部署 Silo;minio_type 当前唯一合法值为 silo。Silo 继续兼容 S3/Admin API、/minio/* 路由、MINIO_* 环境变量和既有磁盘格式,但软件包、二进制与 systemd 服务名已经改为 silo。
- 启动流程同时检查 systemd Invocation ID、
ActiveState=active与 Silo 集群健康,最长等待约 600 秒,避免把旧进程状态误判为本次启动成功。 - 对象存储成员按
minio_cluster聚合,清单组名可以不同;多集群清单应分别设置minio_alias、minio_domain与minio_endpoint。 ha/trio从单节点对象存储改为三节点单盘 Silo,使用 EC:1,并通过 VIP 与 HAProxy 暴露 9002 端口;模板显式声明三个默认用户,确保configure -g后 S3 凭据一致。- 分布式 Silo 要求
/data/minio位于独立文件系统;如果它只是根文件系统下的普通目录,Silo 会拒绝使用。 - 本周期曾加入 RustFS 后端,随后在最终源码中完整撤回。Infra 仓库可以保留 RustFS/MinIO 软件包,但它们都不是 v4.5 MINIO 模块支持的后端。
PostgreSQL Mongo 模式
独立 FERRET 角色与 mongo.yml 剧本被移除,能力拆分为 PostgreSQL Mongo 模式 与 FerretDB Docker APP:PostgreSQL/DocumentDB 负责数据层,Docker Compose 中的 FerretDB 负责 MongoDB 协议层。旧的 FerretDB systemd 服务、专用监控抓取和 Mongo 仪表盘不再随 Pigsty 提供。
编排、安全与生命周期
deploy.yml、slim.yml以及 PGSQL、REDIS、MINIO、KAFKA、MYSQL 初始化剧本按对应的*_cluster身份跳过无关主机;PGSQL、REDIS、MINIO、KAFKA 移除剧本采用同样规则。- PGSQL 配置、PITR 与移除仅在规范的
etcd组存在且非空时委派;DBSU SSH 密钥按实际pg_cluster_members交换,覆盖 Citus 等跨清单组拓扑。 - PITR 与移除只清理以
/<cluster>/为边界的 etcd 子树,避免集群名互为前缀时误删;初始 pgBackRest 备份也只在命令成功后写入initial.done。 - 各模块移除流程先停服务再清理数据;Kafka、MySQL 与对象存储额外加入目录、仲裁、幸存成员和集群身份检查。
pgsql.yml的完整剧本被明确标记为“仅用于首次初始化”:它会重启 Patroni/PostgreSQL 并重新应用托管配置与 bootstrap SQL,不应被当作已初始化集群的日常收敛命令。- Pigsty 渲染的 systemd 单元统一放在
/etc/systemd/system,敏感配置、环境文件、密钥和特权脚本权限进一步收紧;Debian/Ubuntu 安装期间会抑制 Silo、Redis/Valkey 与遗留日志服务被包脚本提前启动。 - HAProxy 采用
/etc/haproxy/haproxy.cfg加/etc/haproxy/conf.d的固定布局,使用上游 master-worker、master socket 与Type=notify;dnsmasq 使用动态绑定、本地回答私网 PTR,并处理 INFRA 初始化后才出现的节点地址。 - 节点时间同步在 Debian/Ubuntu 写入原生
/etc/chrony/chrony.conf,EL 继续使用/etc/chrony.conf;首次校时策略调整为偏差超过 10 秒时允许前 120 次更新步进。
PostgreSQL 内核与扩展
- 默认 PostgreSQL 随仓库更新到 18.6;四套标准 Patroni 模板增加
output_plugin_libraries白名单,允许pgoutput、test_decoding与wal2json,旧版本会由 Patroni 自动过滤不支持的参数。 - PostgreSQL 19 beta 模板补齐 pgBackRest 2.59 与定时备份支持;该模板仍不默认安装扩展,仅用于 PG19 试用。
- Percona PostgreSQL 18 TDE 使用集群模式,并继续采用 Pigsty 私有安装前缀以避免与原生 PostgreSQL 冲突。
- IvorySQL 补齐默认数据库初始化,并在标准负载模板中启用兼容的 WAL 压缩设置。
- PostgreSQL 事实加载器、各平台
package_map与默认扩展组同步刷新,修复 PGDG/YUM 命名和缺失包。
以 Pig v1.5.1(531 项)与 v1.7.0(575 项)的内置目录快照复核,本周期新增 46 个扩展、移除 2 个,净增 44:
- 新增 32 个主扩展:
argm、cat_tools、cron_utils、fbsql、oidc_validator、online_advisor、pg_cjk_parser、pg_column_tetris、pg_describe、pg_disorder、pg_fts、pg_jieba、pg_kpart、pg_lake、pg_local_cache、pg_mentat、pg_oidc_validator、pg_policy、pg_roast、pg_tiktoken_c、pg_turbovec、pg_vault_tde、pgcontext、pgfr_record、pgmemento、pgmonitor、pgsqlmock、pgwasm、plruby、plx、postbis、qdgc。 - 新增 13 个子扩展:
hstore_plruby、jsonb_plruby、ltree_plruby、pg_extension_base、pg_extension_updater、pg_lake_copy、pg_lake_engine、pg_lake_iceberg、pg_lake_table、pg_map、pgcontext_pgvector、pgfr_analyze、qdgc_postgis。 - 新增 1 个 PGDG 扩展:
pg_statviz;它保留在在线目录,但不进入默认安装组。 - 移除
pg_analytics与spat:前者已经归档,后者是已废弃的 alpha 项目。
此外,emailaddr、explain_ui、Rust 版 oidc_validator、pg_summarize 与 smlar 因上游没有提供可分发许可证而从默认安装组移出;软件包与目录记录仍可保留。pg_relation_sql 是独立 SQL 工具包,不支持 CREATE EXTENSION,因此列入打包变更表但不计入 575 个扩展。
扩展软件包更新表
下表把 v4.4.0 之后的 RPM 与 DEB 批次按扩展名合并为“旧版本 → 最终版本”的四列终态,共 207 个打包条目,并补充 2 个目录移除项。RPM/DEB 版本不同时分别标注;版本未变化表示发生了重构建、包名、许可证元数据或平台覆盖变化。
7 月 10 日后的第一份打包日志覆盖 7 月 7–24 日且没有逐项日期,因此整批纳入,避免遗漏发布后完成的 pgrx 0.19.1 重构建与矩阵修复。版本和实际平台可用性以最终仓库索引为准。
| 扩展名 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
age | RPM:1.7.0 | RPM:1.8.0 | 仅 RPM;PG18 为 1.8.0-rc0,PG17 为 1.7.0 |
anon | 3.1.1 | 3.1.3 | pgrx 0.19.1 |
argm | - | 1.1.1 | |
asn1oid | RPM:1.6 | RPM:1.6 | 仅 RPM;许可证元数据改为 GPL-3.0-or-later |
babelfishpg_money | 1.1.0 | 1.1.0 | 新增 PG18 支持 |
babelfishpg_tds | 1.0.0 | 1.0.0 | 新增 PG18 支持 |
babelfishpg_tsql | 5.5.0 | 5.4.0 | 目录版本纠正为 5.4.0;PG17–18 |
biscuit | 2.4.1 | 3.0.0 | PG16–18;从 2.x 升级后必须 REINDEX |
block_copy_command | 0.1.5 | 0.1.5 | pgrx 0.19.1 |
cat_tools | - | 0.3.0 | 纯 SQL 扩展 |
citus | 14.1.0 | 14.2.0 | PG16–18;包含 citus_columnar;补齐 EL10/PG14 RPM |
convert | 0.1.0 | 0.1.0 | pgrx 0.19.1 |
cron_utils | - | 0.1.0 | 纯 SQL 扩展 |
dbt2 | 0.61.7 | 0.61.7 | 新增 DEB PG14–18 与 EL8 RPM PG17–18 |
decoder_raw | 1.0 | 1.0 | 新增 EL10/Debian 13;PG14–16 |
decoderbufs | 3.5.0 | RPM:3.5.0DEB: 3.6.0 | RPM 保持 3.5.0,DEB 更新到 3.6.0 |
documentdb | 0.113 | 0.114 | PG15–18;扩展至 16 个平台 |
documentdb_core | 0.113 | 0.114 | PG15–18;扩展至 16 个平台 |
documentdb_distributed | 0.113 | 0.114 | PG15–18;扩展至 16 个平台 |
documentdb_extended_rum | 0.113 | 0.114 | PG15–18;扩展至 16 个平台 |
emailaddr | 0 | 0 | 上游未提供许可证,已从默认安装组移除 |
emaj | RPM:-DEB: 4.7.1 | 5.0.0 | RPM 包名改为 e-maj,并提供/废弃旧 emaj 名称 |
etcd_fdw | 0.0.1 | 0.0.1 | pgrx 0.19.1 |
explain_ui | 0.0.2 | 0.0.2 | pgrx 0.19.1 重构建;上游未提供许可证,已从默认安装组移除 |
faker | 0.5.3 | 0.5.3 | 补齐 RPM/DEB 平台;Debian 12 与 Ubuntu 22.04 使用 python3-fake-factory 22.0.0 |
fbsql | - | 0.1.0 | PG16–18;依赖 PL/R |
gb18030_2022 | 1.0 | 1.0 | IvorySQL 5.4;仅 PG18 |
graph | 0.1.7 | 1.0.0 | pggraph;pgrx 0.19.1 |
h3 | 4.2.3 | 4.2.3 | 新增 EL8 x86_64 / PG17–18 RPM |
hdfs_fdw | 2.3.3 | 2.3.3 | 新增 DEB PG14–18 |
hstore_pllua | 2.0.12 | 2.0.12 | 新增 6 个 EL RPM 目标 |
hstore_plluau | 2.0.12 | 2.0.12 | 新增 6 个 EL RPM 目标 |
http | 1.7.1 | 1.7.2 | |
hunspell_cs_cz | 1.0 | 1.0 | hunspell 合包;10 词典 |
hunspell_de_de | 1.0 | 1.0 | hunspell 合包;10 词典 |
hunspell_en_us | 1.0 | 1.0 | hunspell 合包;10 词典 |
hunspell_fr | 1.0 | 1.0 | hunspell 合包;10 词典 |
hunspell_ne_np | 1.0 | 1.0 | hunspell 合包;10 词典 |
hunspell_nl_nl | 1.0 | 1.0 | hunspell 合包;10 词典 |
hunspell_nn_no | 1.0 | 1.0 | hunspell 合包;10 词典 |
hunspell_pt_pt | 1.0 | 1.0 | 补齐 16 平台;pt_pt.stop 避免内核冲突 |
hunspell_ru_ru | 1.0 | 1.0 | hunspell 合包;10 词典 |
hunspell_ru_ru_aot | 1.0 | 1.0 | hunspell 合包;10 词典 |
imgsmlr | 1.0 | 1.0 | 新增 EL10/Debian 13 |
ivorysql_ora | 1.0 | 1.0 | IvorySQL 5.4;仅 PG18 |
jdbc_fdw | 0.4.0 | 0.5.0 | 包版本 0.5.0,SQL 版本 1.2 |
jsonschema | 0.1.9 | 0.1.9 | pgrx 0.19.1 |
mobilitydb | 1.3.0 | 1.3.0 | 补齐 6 个 EL RPM 目标与 Ubuntu 22.04 / PG18 DEB |
mobilitydb_datagen | 1.3.0 | 1.3.0 | 随 mobilitydb 同步补齐 RPM/DEB 平台 |
nominatim_fdw | 1.3 | 2.1.0 | |
numeral | RPM:1.3 | RPM:1.3 | 仅 RPM;包名改为 postgresql-numeral;许可证元数据改为 GPL-2.0-or-later |
odbc_fdw | 0.5.1 | 0.6.1 | 包版本 0.6.1,SQL 版本 0.5.2 |
ogr_fdw | 1.1.8 | 1.1.9 | |
oidc_validator | - | 0.1.0 | 仅 PG18;上游未提供许可证,已从默认安装组移除 |
omni | 0.2.14 | 0.2.14 | EL10 支持 PG14–18;其余现有目标仅 PG18 |
online_advisor | - | 1.0 | |
ora_btree_gin | 1.0 | 1.0 | IvorySQL 5.4;仅 PG18 |
ora_btree_gist | 1.0 | 1.0 | IvorySQL 5.4;仅 PG18 |
pg_ai_query | RPM:0.1.1 | RPM:0.1.1 | 仅 EL9/10 RPM;要求 GCC 13 / OpenSSL 3 |
pg_analytics | 0.3.7 | - | 上游项目已归档,移出已打包扩展目录 |
pg_base58 | 0.0.1 | 0.0.1 | pgrx 0.19.1 |
pg_bestmatch | 0.0.2 | 0.0.2 | pgrx 0.19.1 |
pg_cardano | 1.2.0 | 1.2.0 | pgrx 0.19.1;PG15–18 |
pg_cjk_parser | - | 0.1.0 | |
pg_clickhouse | 0.3.2 | 0.10.0 | |
pg_column_tetris | - | 0.1.0 | 纯 SQL |
pg_command_fw | 0.1.0 | 0.1.0 | pgrx 0.19.1;PG15–18 |
pg_csv | RPM:1.0.1 | RPM:1.0.2 | 新增 RPM;包版本 1.0.2,SQL 版本 1.0.1 |
pg_dbms_errlog | 2.2 | 2.4 | |
pg_dbms_job | 2.0 | 2.0 | 新增 DEB 包 |
pg_dbms_lock | 2.0 | 2.0 | 新增 DEB 包 |
pg_dbms_metadata | 1.0.0 | 1.0.0 | 新增 DEB 包,并补齐 EL8 aarch64 / PG15 RPM |
pg_describe | - | 1.0.0 | PG17–18 |
pg_disorder | - | 0.1.0 | |
pg_durable | 0.2.2 | 0.2.3 | pgrx 0.19.1 |
pg_enigma | 0.5.0 | 0.5.0 | pgrx 0.19.1 |
pg_eviltransform | 0.0.2 | 0.0.4 | pgrx 0.19.1 |
pg_extension_base | - | 3.4 | pg_lake 3.4 子扩展;PG16–18;RPM 仅 EL9/10 |
pg_extension_updater | - | 3.4 | pg_lake 3.4 子扩展;PG16–18;RPM 仅 EL9/10 |
pg_fact_loader | 2.0.1 | 2.0.1 | U26 DEB |
pg_failover_slots | 1.2.1 | 1.2.1 | 需预加载;许可证元数据改为 PostgreSQL |
pg_fts | - | 0.2.0 | PG17–18 |
pg_geohash | 1.0 | 1.0 | 修复 SQL 文件名与目标 PostgreSQL ABI;许可证元数据改为 MIT |
pg_get_functiondef | 1.0 | 1.0 | IvorySQL 5.4;仅 PG18 |
pg_graphql | 1.6.1 | 1.6.1 | pgrx 0.19.1 |
pg_idkit | 0.4.0 | 0.4.0 | pgrx 0.19.1 |
pg_ivm | 1.14 | 1.15 | |
pg_jieba | - | 1.1.0 | 包版本 2.0.1,SQL 版本 1.1.0 |
pg_jsonschema | 0.3.4 | 0.3.4 | pgrx 0.19.1 |
pg_kazsearch | 2.2.0 | 2.3.0 | pgrx 0.19.1;PG16–18 |
pg_kpart | - | 1.0 | |
pg_lake | - | 3.4 | PG16–18;RPM 仅 EL9/10 |
pg_lake_copy | - | 3.4 | pg_lake 3.4 子扩展;PG16–18;RPM 仅 EL9/10 |
pg_lake_engine | - | 3.4 | pg_lake 3.4 子扩展;PG16–18;RPM 仅 EL9/10 |
pg_lake_iceberg | - | 3.4 | pg_lake 3.4 子扩展;PG16–18;RPM 仅 EL9/10 |
pg_lake_table | - | 3.4 | pg_lake 3.4 子扩展;PG16–18;RPM 仅 EL9/10 |
pg_later | 0.4.0 | 0.4.0 | pgrx 0.19.1 |
pg_local_cache | - | 1.3.0 | 需预加载;仅支持单主 |
pg_map | - | 3.4 | pg_lake 3.4 子扩展;PG16–18;RPM 仅 EL9/10 |
pg_mentat | - | 1.5.7 | |
pg_mooncake | 0.2.0 | 0.2.0 | pgrx 0.19.1 |
pg_net | 0.20.3 | EL8/9、U22:0.9.2其余: 0.20.5 | EL8/9 与 Ubuntu 22.04 保持 0.9.2;其余目标为 0.20.5 |
pg_oidc_validator | - | 1.1.0 | 仅 PG18;新增 discovery_url_override;RPM 仅 EL10 |
pg_parquet | 0.5.1 | 0.5.1 | pgrx 0.19.1 |
pg_partman | RPM:5.4.0DEB: 5.4.2 | 5.5.0 | DEB 包名为 postgresql-PGVERSION-partman |
pg_pinyin | 0.0.4 | 0.0.5 | pgrx 0.19.1 |
pg_policy | - | 0.1.0 | 纯 SQL |
pg_polyline | 0.0.1 | 0.0.1 | pgrx 0.19.1 |
pg_rational | 0.0.2 | 0.0.3 | RPM 由 Pigsty 构建,DEB 来自 PGDG |
pg_readme | 0.7.0 | RPM:0.7.0DEB: 0.7.1 | RPM 保持 PGDG 0.7.0;DEB 为 0.7.1 并包含测试子扩展 |
pg_relation_sql | - | 0.2.2 | 独立 SQL 工具包,不支持 CREATE EXTENSION;不计入 575 个扩展 |
pg_render | 0.1.3 | 0.1.3 | pgrx 0.19.1 |
pg_rewrite | 2.0.0 | 2.2 | RPM/DEB 包名统一为 postgresql-PGVERSION-pg-rewrite |
pg_roast | - | 1.0 | |
pg_rrf | 0.0.3 | 0.0.3 | pgrx 0.19.1 |
pg_search | 0.24.0 | 0.25.2 | PG15–18;pgrx 0.19.1;需预加载;新增 pgvector/OpenBLAS 依赖 |
pg_session_jwt | 0.5.0 | 0.5.0 | pgrx 0.19.1 |
pg_smtp_client | 0.2.1 | 0.2.1 | pgrx 0.19.1 |
pg_squeeze | 1.9.2 | 1.9.4 | |
pg_statement_rollback | 1.5 | 1.6 | |
pg_statviz | - | RPM:0.9DEB: 1.1 | 非默认包组;RPM 为 0.9、DEB 为 1.1,平台覆盖不同 |
pg_strict | 1.0.5 | 1.0.5 | pgrx 0.19.1 |
pg_strom | 6.1 | 6.1 | 仅 EL10 x86_64 / PG14;扩展 SQL 版本 3.5 |
pg_summarize | 0.0.1 | 0.0.1 | pgrx 0.19.1 重构建;上游未提供许可证,已从默认安装组移除 |
pg_tde | 2.1 | 2.2 | Percona;PG17–18 |
pg_tiktoken | 0.0.1 | 0.0.1 | pgrx 0.19.1 |
pg_tiktoken_c | - | 1.1 | |
pg_tokenizer | 0.1.1 | 0.1.1 | pgrx 0.19.1 |
pg_trickle | 0.81.0 | 0.81.0 | pgrx 0.19.1;PG18 |
pg_turbovec | - | 1.29.0 | pgrx 0.19.1 |
pg_uuid_v8 | 1.0.0 | 1.1.0 | 含 1.0 至 1.1 升级脚本 |
pg_vault_tde | - | 1.7.0 | PG17–18;需预加载;RPM 仅 EL9/10 |
pg_wait_sampling | RPM:1.1.11 | RPM:1.1.11 | 新增 RPM;包版本 1.1.11,SQL 版本 1.1 |
pg_when | 0.1.9 | 0.1.10 | 打包改用 pgrx 0.19.1 |
pgactive | DEB:2.1.7 | DEB:2.1.7 | 仅 DEB;修复 PG14–18 构建 |
pgauditlogtofile | 1.8.4 | 1.8.5 | |
pgautofailover | 2.2 | 2.2 | 新增 6 个 EL / PG18 RPM |
pgbouncer_fdw | 1.4.0 | 1.4.0 | 新增 DEB 包 |
pgbson | 2.0.2 | 2.1.0 | RPM:RPM 包名 postgresbson;DEB:源码包 postgresbson |
pgclone | 4.3.2 | 4.4.2 | |
pgcontext | - | 0.2.0 | PG17–18;pgrx 0.19.1;可选 pgvector 兼容桥 |
pgdd | 0.6.1 | 0.6.1 | pgrx 0.19.1 |
pgedge | RPM:18.4 | RPM:18.4 | 仅 RPM;修复 PG15–18 ABI |
pgextwlist | 1.19 | 1.20 | |
pgfr_analyze | - | 2.29.2 | pg_flight_recorder 子扩展;PG15–18 |
pgfr_record | - | 2.29.2 | pg_flight_recorder;PG15–18 |
pgl_ddl_deploy | 2.2.1 | 2.2.1 | 补齐 PG18 DEB 与 Ubuntu 26.04 / PG14–17 |
pglinter | 2.0.0 | 2.0.0 | pgrx 0.19.1 |
pglite_fusion | 0.0.6 | 0.0.6 | pgrx 0.19.1 |
pglogical_ticker | 1.4.1 | 1.4.1 | 补齐 6 个 EL RPM / PG14–17 |
pgmemcache | 2.3.0 | 2.3.0 | 补齐 EL8 aarch64 / PG14–15 RPM |
pgmemento | - | 0.7.4 | 纯 SQL 扩展 |
pgml | 2.10.0 | 2.10.0 | 新增 EL10、Debian 13、Ubuntu 26.04;PG14–17 |
pgmnemo | 0.12.1 | 0.16.1 | PG17–18;依赖 pgvector 0.7.0 或更高版本 |
pgmonitor | - | 2.2.0 | |
pgmp | - | 1.0.6 | 依赖 GMP |
pgmq | 1.11.1 | 1.12.0 | |
pgmqtt | 0.3.0 | 0.4.1 | pgrx 0.19.1 |
pgnodemx | RPM:1.7 | RPM:2.0.1 | 仅 RPM;包版本 2.0.1,SQL 版本 2.0;加强 cgroup 安全 |
pgpcre | RPM:0.20190509 | RPM:0.20190509 | 仅 EL8/9 RPM |
pgrdf | 0.6.4 | 0.6.20 | pgrx 0.19.1 |
pgsentinel | 1.4.1 | RPM:1.4.2DEB: 1.4.0(U26:1.4.1) | RPM 1.4.2;DEB 1.4.0;Ubuntu 26.04 为 1.4.1 |
pgsmcrypto | 0.1.1 | 0.1.1 | pgrx 0.19.1 |
pgspider_ext | 1.3.0 | 1.3.0 | 补齐 PG18;DEB 支持 PG15–18 |
pgsqlmock | - | 1.0.1 | |
pgwasm | - | 0.1.0 | |
pgx_ulid | 0.2.3 | 0.2.3 | pgrx 0.19.1 |
pgzint | DEB:- | DEB:0.2.0 | 仅 Debian 13 / Ubuntu 26.04 DEB;依赖 Zint 2.14 或更高版本 |
plisql | 1.0 | 1.0 | IvorySQL 5.4;仅 PG18 |
pllua | 2.0.12 | 2.0.12 | 补齐 6 个 EL / PG18 及 EL8 aarch64 / PG14–15 RPM |
plpgsql_check | 2.9.2 | 2.10.4 | 预加载改为可选 |
plproxy | 2.11.0 | 2.12.0 | |
plprql | 18.0.1 | 18.0.1 | pgrx 0.19.1 |
plruby | - | 2.5.0 | 包含 jsonb_plruby、hstore_plruby 与 ltree_plruby |
plx | - | 1.3.1 | |
polardb-17 | 17.10.1.0-1PIGSTY | 17.10.1.0-2PGSTY | PG17 重构建;release 后缀由 PIGSTY 统一为 PGSTY |
polarstore | 1.2.42-1PIGSTY | 1.2.42-2PGSTY | 重构建;release 后缀由 PIGSTY 统一为 PGSTY |
postbis | - | 1.0 | 带 PG14–18 兼容补丁 |
powa | 5.1.2 | RPM:5.1.0DEB: 5.2.0 | DEB 为 5.2.0,RPM 保持 5.1.0 |
pre_prepare | RPM:0.9 | RPM:0.9 | 仅 RPM;许可证元数据改为 PostgreSQL |
provsql | 1.10.0 | 1.12.0 | |
q3c | RPM:2.0.2DEB: 2.0.4 | 2.0.5 | 最终 RPM/DEB 均为 PGDG 2.0.5 |
qdgc | - | 0.1.0 | 包含 qdgc_postgis 子扩展 |
rdf_fdw | 2.6.0 | 2.7.0 | |
rdkit | 202503.6 | 202503.6 | 不同平台保留 202303.3 或 202503.6,运行时版本未统一变化 |
re2 | 0.3.0 | 0.4.1 | PG16–18 |
smlar | 1.0 | 1.0 | 上游未提供许可证,已从默认安装组移除 |
snowflake | 2.4 | 2.5.0 | pgEdge;PG15–18 |
spat | 0.1.0a4 | - | 上游已废弃的 alpha 项目,移出已打包扩展目录 |
spock | 5.0.6 | 5.0.10 | pgEdge;PG15–18 |
sqlite_fdw | 2.5.0 | 2.5.0 | 补齐 PG18;EL8 兼容系统 SQLite |
sslutils | 1.4 | 1.4 | 新增 EL8 双架构 / PG18 RPM |
system_stats | DEB:4.0 | DEB:4.1 | 仅 DEB;覆盖 10 个 DEB 目标 |
tdigest | 1.4.3 | 1.4.4 | |
timescaledb | 2.28.2 | 2.29.1 | PG16–18 |
timescaledb_toolkit | 1.23.0 | 1.23.0 | pgrx 0.19.1;PG15–18 |
timeseries | DEB:0.2.1 | DEB:0.2.1 | 仅 DEB;修正 partman/cron 推荐依赖与文档 |
typeid | 0.3.0 | 0.3.0 | pgrx 0.19.1 |
tzf | 0.3.0 | 0.3.0 | pgrx 0.19.1 |
unit | 7.10 | 7.10 | 许可证元数据改为 GPL-3.0-or-later |
uri | RPM:1.20251029 | RPM:1.20251029 | 仅 RPM;包名改为 pguri,并提供/废弃旧 pg_uri 名称 |
vchord | 1.1.1 | 1.1.1 | pgrx 0.19.1 |
vchord_bm25 | 0.3.0 | 0.3.0 | pgrx 0.19.1 |
vector | 0.8.4 | 0.8.6 | |
vectorize | 0.26.2 | 0.26.2 | pgrx 0.19.1 |
vectorscale | 0.9.0 | 0.9.0 | pgrx 0.19.1 |
wal2mongo | 1.0.7 | 1.0.7 | 补齐 PG17–18 |
wrappers | 0.6.1 | 0.6.2 | pgrx 0.19.1 |
zlog | 1.2.18-1PIGSTY | 1.2.18-2PGSTY | 重构建;release 后缀由 PIGSTY 统一为 PGSTY |
可观测性
- 整套 Grafana 仪表盘通过 Pig/Grafana 工具重导出为 Dashboard API v2;新增 4 个 Kafka 与 5 个 MySQL 面板,并更新 Node、PostgreSQL、Redis 与 Infra 面板的链接、变量和布局。
- MinIO/Silo 的 Overview 与 Instance 面板迁移到 Metrics V3;Victoria 统一抓取
/minio/metrics/v3,并丢弃带非空bucket标签的高基数样本。 pg_exporter配置升级到 1.4.0,并修复 1.4.1pg_subrel查询产生重复时间序列的问题。- PG19 新增
pg_sub_19、pg_recovery_state、pg_wal_19、pg_lock_stat与pg_vacuum_score采集器;PG10+ 增加pg_xact_age事务年龄直方图,并补齐复制槽idle_timeout与 WAL Receiverconnecting状态编码。 - Kafka JMX/协议 Exporter 与 MySQL Exporter 纳入统一服务发现、Victoria 抓取和告警规则;journald 日志缺少
PRIORITY字段时也能安全处理。
仓库、离线包与供应链
- REPO 与 CACHE 角色改用
sow create --pigsty原子生成 DNF/APT 元数据和 SHA-256repo_complete标记,不再注入伪造 ModuleMD。 module_hotfixes改为逐仓库显式选择,并仅为需要替换系统模块流的 EL 仓库启用,避免无差别绕过 DNF 模块过滤。cache.yml在dist/<version>/pigsty-<version>.tgz已预先生成时,会把该源码包一并放入离线仓库;它不会隐式打包当前工作树,也不会联网下载源码。- RPM Exporter 包名统一由下划线改为连字符,例如
node_exporter→node-exporter;旧名称通过无版本Provides/Obsoletes过渡。 - Infra 本地重打包统一使用
PGSTYvendor、SPDX 许可证表达式、1PGSTYrelease、/etc/default/<service>环境文件、/usr/lib/systemd/system厂商单元与/usr/share/doc/<package>法律文件。 - 简单二进制包改用带 SHA-256 的上游归档可重复构建;厂商原生 RPM/DEB 则保持字节与原始元数据不变。Silo、Grafana、Code、Code Server 与 Vector 等直供制品均加入固定 URL/校验和。
- 中国区域源路由系统性刷新:操作系统、Docker、Grafana、Percona、MongoDB APT 与 uv/PyPI 优先腾讯云,EL/Docker 保留华为云与阿里云回退,MySQL/Kubernetes 使用中科大,ClickHouse 使用华为云。
Infra 软件包更新表
下表将本周期的 Infra 批次合并为每个软件包一行,只保留 v4.4.0 旧值、v4.5.0 最终值和必要备注;中间版本不重复展开。表中的“已构建/已核验”只描述打包记录,最终可安装版本仍以发布时的仓库索引和签名元数据为准。
| 软件包 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
agentsview | 0.37.5 | 0.40.1 | |
claude | 2.1.206 | 2.1.227 | |
cloudflared | 2026.7.1 | 2026.7.3 | |
code | 1.128.0 | 1.133.0 | |
code-server | 4.127.0 | 4.132.0 | |
codex | 0.144.1 | 0.147.0 | |
crush | 0.84.0 | 0.88.1 | 改用含许可证的官方 tarball 合规重打包 |
dblab | 0.43.0 | 0.47.4 | |
duckdb | 1.5.4 | 1.5.5 | |
etcd | 3.6.13 | 3.7.1 | |
ferretdb | 2.7.0 | 2.7.0 | 构建链曾改名为 ferretdb2,最终恢复 ferretdb |
grafana | 13.1.0 | 13.1.3 | 包含安全修复 |
grafana-infinity-ds | 3.8.0 | 3.11.3 | |
grafana-victorialogs-ds | 0.29.0 | 0.31.0 | |
headscale | 0.29.2 | 0.29.3 | |
jmx-exporter | - | 1.6.0 | 新增 noarch 软件包 |
juicefs | 1.4.0 | 1.4.1 | |
k3s | - | 1.36.3 | 上游 v1.36.3+k3s1 |
k3s-images | - | 1.36.3 | 与 k3s 精确匹配的双架构离线镜像 |
logcli | 3.6.7 | 3.7.6 | Loki 组件同步升级 |
loki | 3.6.7 | 3.7.6 | Loki 组件同步升级 |
loki-canary | - | 3.7.6 | 新增 Loki 配套组件 |
mcli | 20260417000000 | 20260806000000.0.0 | |
mcp-toolbox | 1.6.0 | 1.8.0 | 原 genai-toolbox 包名与配方统一为 mcp-toolbox |
minio | 20260618000000 | 20260804000000 | 仅保留仓库软件包,不再是 v4.5 MINIO 模块后端 |
mongodb-exporter | 0.51.0 | 0.52.0 | |
mtail | 3.0.8 | 3.4.7 | |
node-exporter | 1.11.1 | 1.12.1 | RPM 包名由 node_exporter 改为 node-exporter |
nodejs | 24.18.0 | 24.19.0 | Node.js 24 LTS 安全更新 |
npgsqlrest | 3.20.0 | 3.21.0 | |
opencode | 1.17.18 | 1.18.16 | |
pev2 | 1.22.0 | 1.23.0 | |
pg-exporter | 1.3.0 | 1.4.1 | 升级 1.4 系列,与新版采集配置同步 |
pg-hardstorage | 1.0.8 | 1.2.1 | |
pg-timetable | 6.3.0 | 7.0.0 | 主版本升级 |
pgbackrest-exporter | 0.23.0 | 0.24.0 | |
pgschema | 1.12.0 | 1.12.2 | |
pgstream | 1.1.1 | 1.3.1 | |
PGSTY package release | 混合 | 1PGSTY | 自建 RPM/DEB release 后缀统一 |
pig | 1.5.1 | 1.8.0 | 扩展目录刷新 |
postgrest | 14.14 | 16.1 | 主版本升级;最低支持 PostgreSQL 14 |
prometheus | 3.13.1 | 3.13.2 | 安全与稳定性修复 |
promscale | 0.17.0 | 0.17.0 | 上游归档,保留最终版本 |
promtail | 3.6.7 | 3.6.7 | 冻结在 3.6.7;Loki 3.7 不再发布新版 Promtail |
rainfrog | 0.3.19 | 0.4.3 | |
rclone | 1.74.4 | 1.75.0 | |
redis-exporter | 1.86.0 | 1.89.0 | RPM 包名由 redis_exporter 改为 redis-exporter |
rustfs | 1.0.0-b8 | 1.0.0-rc.1 | 预发布包保留在仓库,但不是 v4.5 MINIO 模块后端 |
sabiql | 1.14.0 | 1.15.1 | |
sealos | 5.1.1 | 5.0.1 | 锁定最后一个 Apache-2.0 稳定版 |
seaweedfs | 4.39 | 4.41 | |
silo | minio 20260804000000 | 20260806000000.0.0 | 正式取代 MinIO 服务端,成为 v4.5 唯一对象存储后端 |
sow | 0.2.0 | 0.3.0 | REPO/CACHE 核心依赖 |
stalwart | 0.16.12 | 0.16.17 | |
timescaledb-tools | 0.19.0-1 | 0.19.0-2 | 包含 timescaledb-parallel-copy 0.13.0 |
uv | 0.11.28 | 0.12.3 | |
v2ray | 5.51.2 | 5.52.0 | |
vector | 0.56.0 | 0.57.0 | |
victoria-logs | 1.51.0 | 1.52.0 | |
victoria-metrics | 1.147.0 | 1.149.0 | |
victoria-metrics-cluster | 1.147.0 | 1.149.0 | |
victoria-traces | 0.9.4 | 0.10.0 | |
vip-manager | 4.2.0 | 5.0.0 | 主版本升级;安装后默认禁用,配置不向后兼容 |
vlagent | 1.51.0 | 1.52.0 | |
vlogscli | 1.51.0 | 1.52.0 | |
vmutils | 1.147.0 | 1.149.0 | |
xray | 26.3.27 | 26.3.27 | 26.7.28 候选更新撤回,稳定版保持 26.3.27 |
平台、模板与发布工程
- 推荐平台基线更新到 Rocky Linux 9.8/10.2、Debian 12.15/13.6、Ubuntu 22.04.5/24.04.4/26.04.0;Terraform 云镜像与 Vagrant box 固定版本同步刷新。
- Vagrant 根盘改为可配置的
root_disk:默认 64 GiB,all、rpm、deb、oss、pro构建矩阵使用 128 GiB;原有disk仍表示额外/data盘,默认 128 GiB。vagrant 用户登录 Shell 统一为 Bash。 - 新增八节点
ha/octo仿真环境;ha/trio改为三节点 Silo + VIP/HAProxy,demo/minio显式选择 Silo 并裁剪本地仓库包组。 safe与demo模板改用有效的扩展别名;tuned profile 路径按操作系统适配,集群规模比较继续兼容 Ansible 2.19 之前的类型行为,并清理不再使用的内部标志与 MINIO/INFRA 变量。- Docker 基础镜像更新到 Debian 13.6 并标记 v4.5.0;镜像发布工作流改为手动触发并从标签构建。
docker/Makefile的数据目录固定为仓库内./data;make purge不再接受外部DATA覆盖,也没有倒计时。- GitHub Actions 批量升级 checkout、CodeQL、Docker build/login 与 Cosign;发布、引导、安装、校验和构建模板同步收紧参数与文件处理。
- 发布归档从
conf/meta.yml生成顶层pigsty.yml,纳入 Kafka/MySQL 剧本并移除旧 Mongo 剧本;签名工作流只为pigsty-<tag>.tgz源码包生成 Cosign 签名,不签署多 GB 离线包。 - README、SECURITY、CONTRIBUTING、AGENTS 与 NOTICE 同步到 v4.5、575 扩展、Silo、Redis/Valkey 和 Mongo 模式,并更新 2026 版权与商标说明。
兼容性变化与升级说明
从 v4.4 升级前,请特别检查以下变化:
- FERRET 拆分:移除旧
ferretdbsystemd 服务,使用 Mongo 配置模式部署 DocumentDB 数据层,再用docker.yml/app.yml部署 FerretDB 协议层;旧mongo.yml、mongo_*参数和专用面板不再提供。 - Silo 取代 MinIO 服务端:
minio_type只接受silo。协议与磁盘格式兼容不等于迁移已经验收;切换既有对象存储前必须验证备份、原地兼容性、回滚和真实读写。 ha/trio对象存储拓扑变化:新模板是三节点单盘 Silo。既有单节点池不能通过简单增加两名成员原地扩容,应新建集群并迁移对象。- HAProxy 单元变化:Pigsty 不再渲染
/etc/default/haproxy,但单元会可选读取它;只使用EXTRAOPTS,并保留-S /run/haproxy-master.sock,不要加入-f。 - 显式集群身份:自定义清单必须为目标主机定义
pg_cluster、redis_cluster、minio_cluster、kafka_cluster或mysql_cluster;仅依赖固定组名的旧清单需要补齐。 - PGSQL 完整剧本仅用于初始化:不要在已初始化节点上完整重跑
pgsql.yml。日常维护使用精确标签;需要完整重建时,先按正式流程验证备份并移除目标成员。 - Valkey 为显式选择:只有设置
redis_type: valkey才会安装 Valkey;模块参数、配置路径和监控接口仍沿用 Redis 命名。 - SOW 成为核心依赖:REPO/CACHE 需要 SOW 0.3.0。旧离线包或旧本地仓库如果没有
sow,应先从 Pigsty Infra 仓库补齐。 - Exporter RPM 政名:外部自动化与私有仓库应从
node_exporter、redis_exporter等旧名迁移到node-exporter、redis-exporter。 - 默认扩展组收紧许可证:依赖
emailaddr、explain_ui、oidc_validator、pg_summarize、smlar的环境需改为显式安装,并自行确认许可证与再分发边界。 - Docker 清理语义变化:
make purge会直接删除仓库内./data;执行前确认没有需要保留的容器数据。 - Vagrant 磁盘语义变化:
root_disk控制系统盘,disk控制额外/data盘;分布式 Silo 依赖后者是真实独立挂载。
获取 v4.5.0
在受支持的全新 Linux 节点上安装:
生产升级不是简单覆盖安装。请先阅读本页兼容性变化,核对目标集群、备份、清单身份与实际运行状态,再以明确的 -l 范围执行检查模式或维护操作。