版本发布历史
- 1: Pigsty 发布注记
- 2: PIG 包管理器注记
- 3: PG Exporter 发布
- 4: INFRA 发布日志
- 5: RPM 发布日志
- 6: DEB 发布日志
1 - Pigsty 发布注记
Pigsty 当前的最新稳定版本为 v3.7.0,最新的测试版本为 v4.0.0-b2。
| 版本 | 发布日期 | 摘要 | 发布页面 |
|---|---|---|---|
| v4.0.0 | 2026-01-31 | Infra 重构,安全加固,Agent 能力 | v4.0.0 |
| v3.7.0 | 2025-12-02 | PG18 成为默认版本,437 个扩展,EL10 与 Debian13 的完整支持, PGEXT.CLOUD | v3.7.0 |
| v3.6.1 | 2025-08-15 | 例行 PG 小版本更新,PGDG 中国区域镜像,EL9,D13 存根 | v3.6.0 |
| v3.6.0 | 2025-07-30 | pgactive,MinIO / ETCD 改进,安装简化,配置梳理 | v3.6.0 |
| v3.5.0 | 2025-06-16 | PG18 beta,421 扩展,监控升级,代码重构 | v3.5.0 |
| v3.4.1 | 2025-04-05 | OpenHalo & OrioleDB,MySQL兼容,pgAdmin改进 | v3.4.1 |
| v3.4.0 | 2025-03-30 | 备份改进,自动证书,AGE,Ivory 全平台,本地化,架构与参数改进 | v3.4.0 |
| v3.3.0 | 2025-02-24 | 404 扩展,扩展目录,App 剧本,Nginx 定制,DocumentDB 支持 | v3.3.0 |
| v3.2.2 | 2025-01-23 | 390扩展,Omnigres支持,Mooncake,Citus13与PG17支持 | v3.2.2 |
| v3.2.1 | 2025-01-12 | 350扩展,Ivory4,Citus强化,Odoo模板 | v3.2.1 |
| v3.2.0 | 2024-12-24 | 扩展管理 CLI ,Grafana 强化,ARM64 扩展补完 | v3.2.0 |
| v3.1.0 | 2024-11-24 | PG 17 升默认大版本,配置简化,Ubuntu24与ARM 支持,Supabase,MinIO 改进 | v3.1.0 |
| v3.0.4 | 2024-10-30 | PG 17 扩展,OLAP 全家桶,pg_duckdb | v3.0.4 |
| v3.0.3 | 2024-09-27 | PostgreSQL 17,Etcd 运维优化,IvorySQL 3.4,PostGIS 3.5 | v3.0.3 |
| v3.0.2 | 2024-09-07 | 精简安装模式,PolarDB 15支持,监控视图更新 | v3.0.2 |
| v3.0.1 | 2024-08-31 | 例行问题修复,Patroni 4支持,Oracle兼容性改进 | v3.0.1 |
| v3.0.0 | 2024-08-25 | 333个扩展插件,可插拔内核,MSSQL,Oracle,PolarDB 兼容性 | v3.0.0 |
| v2.7.0 | 2024-05-20 | 扩展大爆炸,新增20+强力扩展插件,与多款Docker应用 | v2.7.0 |
| v2.6.0 | 2024-02-28 | PG 16 作为默认大版本,引入 ParadeDB 与 DuckDB 等扩展 | v2.6.0 |
| v2.5.1 | 2023-12-01 | 例行小版本更新,PG16重要扩展支持 | v2.5.1 |
| v2.5.0 | 2023-09-24 | Ubuntu/Debian支持:bullseye, bookworm, jammy, focal | v2.5.0 |
| v2.4.1 | 2023-09-24 | Supabase/PostgresML支持与各种新扩展:graphql, jwt, pg_net, vault | v2.4.1 |
| v2.4.0 | 2023-09-14 | PG16,监控RDS,服务咨询支持,新扩展:中文分词全文检索/图/HTTP/嵌入等 | v2.4.0 |
| v2.3.1 | 2023-09-01 | 带HNSW的PGVector,PG 16 RC1, 文档翻新,中文文档,例行问题修复 | v2.3.1 |
| v2.3.0 | 2023-08-20 | 主机VIP, ferretdb, nocodb, MySQL存根, CVE修复 | v2.3.0 |
| v2.2.0 | 2023-08-04 | 仪表盘 & 置备重做,UOS 兼容性 | v2.2.0 |
| v2.1.0 | 2023-06-10 | 支持 PostgreSQL 12 ~ 16beta | v2.1.0 |
| v2.0.2 | 2023-03-31 | 新增 pgvector 支持,修复 MinIO CVE | v2.0.2 |
| v2.0.1 | 2023-03-21 | v2 错误修复,安全增强,升级 Grafana 版本 | v2.0.1 |
| v2.0.0 | 2023-02-28 | 架构大升级,兼容性、安全性、可维护性显著增强 | v2.0.0 |
| v1.5.1 | 2022-06-18 | Grafana 安全性修复 | v1.5.1 |
| v1.5.0 | 2022-05-31 | Docker 应用程序支持 | v1.5.0 |
| v1.4.1 | 2022-04-20 | 错误修复 & 英文文档完整翻译 | v1.4.1 |
| v1.4.0 | 2022-03-31 | MatrixDB 支持,分离 INFRA/NODES/PGSQL/REDIS模块 | v1.4.0 |
| v1.3.0 | 2021-11-30 | PGCAT 重整 & PGSQL 增强 & Redis Beta支持 | v1.3.0 |
| v1.2.0 | 2021-11-03 | 默认 PGSQL 版本升级至 14 | v1.2.0 |
| v1.1.0 | 2021-10-12 | 主页, JupyterLab, PGWEB, Pev2 & pgbadger | v1.1.0 |
| v1.0.0 | 2021-07-26 | v1 正式版, 监控系统重整 | v1.0.0 |
| v0.9.0 | 2021-04-04 | Pigsty 图形界面, 命令行界面, 日志集成 | v0.9.0 |
| v0.8.0 | 2021-03-28 | 服务置备,定制对外暴露的数据库服务 | v0.8.0 |
| v0.7.0 | 2021-03-01 | 仅监控部署,监控现有 PostgreSQL 实例 | v0.7.0 |
| v0.6.0 | 2021-02-19 | 架构增强,将PG与Consul解耦 | v0.6.0 |
| v0.5.0 | 2021-01-07 | 支持在配置中定义业务数据库/用户 | v0.5.0 |
| v0.4.0 | 2020-12-14 | 支持 PostgreSQL 13,添加官方文档 | v0.4.0 |
| v0.3.0 | 2020-10-22 | 虚拟机置备方案正式定稿 | v0.3.0 |
| v0.2.0 | 2020-07-10 | PG监控系统第六版正式发布 | v0.2.0 |
| v0.1.0 | 2020-06-20 | 在生产仿真测试环境中验证通过 | v0.1.0 |
| v0.0.5 | 2020-08-19 | 离线安装模式:无需互联网访问即可交付 | v0.0.5 |
| v0.0.4 | 2020-07-27 | 将 Ansible 剧本重构为 Role | v0.0.4 |
| v0.0.3 | 2020-06-22 | 接口设计改进 | v0.0.3 |
| v0.0.2 | 2020-04-30 | 首次提交 | v0.0.2 |
| v0.0.1 | 2019-05-15 | 概念原型 | v0.0.1 |
v4.0.0-b2 (WIP)
curl https://pigsty.cc/get | bash
GitHub Release: https://github.com/pgsty/pigsty/releases/tag/v4.0.0-b2
亮点
- Infra 模块彻底翻新,Victoria 可观测性全家桶带来 10x 性能提升!
- 日志方案升级为 VictoriaLogs + Vector,性能、易用性史诗级加强!
- Pigsty UI 集成,带来浑然一体的 UI 使用体验。
- 全局安全性提升,防火墙 SELinux 权限加固
- Docker 容器版本,可供快速评估试用
- 提供瞬间克隆数据库的能力
软件版本
基础设施软件包
其中 MinIO 开始使用 pgsty 自身维护打包的 RPM/DEB
- victoria-metrics : 1.132.0
- victoria-logs : 1.41.0
- blackbox_exporter : 0.28.0
- duckdb : 1.4.3
- rclone : 1.72.1
- pev2 : 1.19.0
- pg_exporter : 1.1.0
- pig : 0.8.0
- rclone : 1.72.1
- genai-toolbox : 0.23.0
- minio : 20251203120000
- uv : 0.9.18 new package
- ccm (claude mgr) : 2.0.76
PG 扩展软件包
- pg_textsearch: 0.1.0 新扩展
- pg_clickhouse: 0.1.0 新扩展
- pg_ai_query: 0.1.1 新扩展
- timescaledb : 2.23.1 -> 2.24.0
- pg_search : 0.20.0 -> 0.20.4
- pg_duckdb : 1.1.0 -> 1.1.1 ,官方正式发布版本
- pg_biscuit : 1.0 -> 2.0.1 ,仓库重命名
- pg_convert : 0.0.4 -> 0.0.5 ,移除 PG 13 支持
- pgdd : 0.6.0 -> 0.6.1 ,移除 PG 13 支持
- pglinter : 1.0.0 -> 1.0.1
- pg_session_jwt : 0.3.3 -> 0.4.0
- pg_anon : 2.4.1 -> 2.5.1
- pg_enigma : 0.4.0 -> 0.5.0
- wrappers : 0.5.6 -> 0.5.7
- pg_vectorize : 0.25.0 -> 0.26.0
- vchord_bm25 : 0.2.2 -> 0.3.0
- pg_timeseries : 0.1.7 -> 0.1.8
修复 PG 18 Deb 包:pg_vectorize ,pg_tiktoken ,pg_tzf ,pglite_fusion ,pgsmcrypto ,pgx_ulid ,plprql ,pg_summarize ,supautils
可观测性
- 使用全新的 VictoriaMetrics 替代 Prometheus,用几分之一的资源实现几倍的性能。
- 使用全新的日志收集方案:VictoriaLogs + Vector,取代 Promtail + Loki。
- 统一调整了所有组件的日志格式,PG 日志使用 UTC 时间戳(log_timezone)
- 调整了 PostgreSQL 日志的轮换方式,使用按周循环截断日志轮转模式
- 在 PG 日志中记录超过 1MB 的临时文件分配,在特定模版中启用 PG 17/18 日志新参数
- 新增了 Nginx Access & Error / Syslog / PG CSV / Pgbackrest 的 vector 日志解析配置
- 注册数据源现在会在所有 Infra 节点上进行,Victoria 数据源将自动注册入 Grafana
- 新增
grafana_pgurl参数,允许指定 Grafana 使用 PG 作为后端存储元数据库 - 新增
grafana_view_pgpass参数,指定 Grafana Meta 数据源使用的密码
参数优化
pg_io_method参数,auto, sync, worker, io_uring, 四种方式可选,默认 workeridle_replication_slot_timeout, 默认 7d, crit 模板 3dlog_lock_failures,oltp,crit 模版开启track_cost_delay_timing,olap,crit 模版开启log_connections,oltp/olap 开启认证日志,crit 开启全部日志。maintenance_io_concurrency设置为 100,如果使用 SSDeffective_io_concurrency从 1000 减小为 200file_copy_method参数为 PG18 默认设置为clone,提供瞬间克隆数据库的能力- 对于 PG17+,如果
pg_checksums开关关闭,在 patroni 初始化集群时显式禁用校验和 - 修复了
duckdb.allow_community_extensions总是生效的问题 - 允许通过
node_firewall_intranet指定 HBA 信任的 “内网网段” - 现在 pg_hba 与 pgbouncer_hba 支持 IPv6 的 localhost 访问
架构改进
- 在 Infra 节点上,设置固定的
/infra软连接指向 Infra 数据目录/data/infra。 - 现在 infra 的数据默认放置于 /data/infra 目录下,这使得在容器中使用更为便利。
- 本地软件仓库现在放置于 /data/nginx/pigsty, /www 现在作为软链接指向 /data/nginx 确保兼容。
- DNS 解析记录现在放置于
/infra/hosts目录下,解决了 Ansible SELinux 竞态问题 - pg_remove/pg_pitr 移除 etcd 元数据的任务,现在不再依赖 admin_ip 管理节点,而在 etcd 集群上执行
- 36 节点仿真模板 simu 简化为 20 节点的版本。
安全改进
configure现在会自动生成随机强密码,避免使用默认密码带来的安全隐患。- 移除
node_disable_firewall,新增node_firewall_mode,支持 off, none, zone 三种模式。 - 移除
node_disable_selinux,新增node_selinux_mode,支持 disabled, permissive, enforcing 三种模式。 - 新增 nginx basic auth 支持,可以为 Nginx Server 设置可选的 HTTP Basic Auth。
- 修复 ownca 证书有效期问题,确保了 Chrome 可以识别自签名证书。
- 更改了 MinIO 模块的默认密码,避免与众所周知的默认密码冲突- 启用了针对 etcd 的 RBAC,每个集群现在只能管理自己的 PostgreSQL 数据库集群。
- etcd root 密码现在放置于
/etc/etcd/etcd.pass文件中,仅对管理员可读 - 为 HAProxy,Nginx,DNSMasq,Redis 等组件配置了正确的 SELinux 上下文
- 收回了所有非 root 用户对可执行脚本的拥有权限
- 将 admin_ip 添加到 Patroni API 允许访问的 IP 列表白名单中
- 总是创建 admin 系统用户组,patronictl 配置收紧为仅限 admin 组用户访问
- 新增
node_admin_sudo参数,允许指定/调整数据库管理员的 sudo 权限模式(all/nopass)
v3.7.0
亮点特性
- PostgreSQL 18 深度支持,成为默认 PG 大版本,扩展已就位!
- 新增 EL10 / Debian 13 操作系统支持,总数达 14 个!
- 新增 PostgresQL 扩展数量,总数达到 437 个!
- 支持了 Ansible 2.19 破坏性重构以后的版本!
- Supabase,PolarDB, IvorySQL, Percona 内核更新至最新版本!
- 优化了 PG 默认参数的设置逻辑,更充分利用资源。
版本更新
- PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, 13.23
- Patroni 4.1.0
- Pgbouncer 1.25.0
- pg_exporter 1.0.3
- pgbackrest 2.57.0
- Supabase 2025-11
- PolarDB 15.15.5.0
- FerretDB 2.7.0
- DuckDB 1.4.2
- Etcd 3.6.6
- pig 0.7.4
更多软件版本更新信息,请参考:
API变化
- 为并行执行的相关参数设置了更合理的优化策略,详见 调参说明
- 在
rich与full模板中,不再默认安装 citus 扩展,因为 citus 尚未支持 PG 18 - PG 参数模板中,新增 duckdb 系列扩展存根。
- 为
min_wal_size,max_wal_size,max_slot_wal_keep_size设置 200,2000,3000 GB 的封顶上限值。 - 为
temp_file_limit设置 200 GB 的封顶上限,OLAP 设置为 2 TB。 - 适当增大连接池默认链接数量
- 新增
prometheus_port参数,且默认值为9058,避开与 EL10 RHEL Web Console 端口的冲突。 - 修改
alertmanager_port参数的默认值为9059,避开与 Kafka SSL 端口的潜在冲突。 - 新增
pg_pkg的pg_pre子任务,在安装 PG 包前移除 el9+ 上导致 LLVM 冲突的bpftool,python3-perf - 在 Debian / Ubuntu 的默认仓库定义中新增 llvm 仓库模块
- 修复了
infra-rm.yml移除软件包的逻辑
兼容性修复
- 修复了 Ubuntu/Debian 信任 CA 时 Warning 返回码错误的问题。
- 修复了 Ansible 2.19 引入的大量兼容性问题,确保在新老版本上正常运行。
- 为 seq 类变量添加了 int 类型转换,确保兼容
- 将大量 with_items 修改为 loop 语法,确保兼容
- 为密钥交换变量添加一层列表嵌套,避免在新版本下针对字符串进行字符迭代。
- 将 range 用例显式转换为 list 后使用
- 修改了 name,port 等标记保留的变量命名
- 将
play_hosts修改为ansible_play_hosts - 为部分字符串类型添加了 string 强制类型转换,避免运行时错误。
- EL10 逻辑适配:
- 修复了 EL10 缺少 ansible-collection-community-crypto 无法生成密钥的问题
- 修复了 EL10 缺少 ansible 逻辑包的问题
- 移除 modulemd_tools flamegraph timescaledb-tool
- 使用 java-21-openjdk 替代 java-17-openjdk
- aarch64 YUM 仓库名称问题
- Debian 13 逻辑适配
- 使用
bind9-dnsutils替代dnsutils - Ubuntu 24 修复
- 临时移除了上游依赖崩溃的 tcpdump 包
校验和
e00d0c2ac45e9eff1cc77927f9cd09df pigsty-v3.7.0.tgz
987529769d85a3a01776caefefa93ecb pigsty-pkg-v3.7.0.d12.aarch64.tgz
2d8272493784ae35abeac84568950623 pigsty-pkg-v3.7.0.d12.x86_64.tgz
090cc2531dcc25db3302f35cb3076dfa pigsty-pkg-v3.7.0.d13.x86_64.tgz
ddc54a9c4a585da323c60736b8560f55 pigsty-pkg-v3.7.0.el10.aarch64.tgz
d376e75c490e8f326ea0f0fbb4a8fd9b pigsty-pkg-v3.7.0.el10.x86_64.tgz
8c2deeba1e1d09ef3d46d77a99494e71 pigsty-pkg-v3.7.0.el8.aarch64.tgz
9795e059bd884b9d1b2208011abe43cd pigsty-pkg-v3.7.0.el8.x86_64.tgz
08b860155d6764ae817ed25f2fcf9e5b pigsty-pkg-v3.7.0.el9.aarch64.tgz
1ac430768e488a449d350ce245975baa pigsty-pkg-v3.7.0.el9.x86_64.tgz
e033aaf23690755848db255904ab3bcd pigsty-pkg-v3.7.0.u22.aarch64.tgz
cc022ea89181d89d271a9aaabca04165 pigsty-pkg-v3.7.0.u22.x86_64.tgz
0e978598796db3ce96caebd76c76e960 pigsty-pkg-v3.7.0.u24.aarch64.tgz
48223898ace8812cc4ea79cf3178476a pigsty-pkg-v3.7.0.u24.x86_64.tgz
v3.6.1
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
0d71e58feebe5299df75610607bf428c pigsty-pkg-v3.6.1.u24.aarch64.tgz
4fbbab1f8465166f494110c5ec448937 pigsty-pkg-v3.6.1.u24.x86_64.tgz
083d8680fa48e9fec3c3fcf481d25d2f pigsty-v3.6.1.tgz
v3.6.0
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:默认值调整为创建名为pgsql、meta、data的三个桶。minio_users:移除dba用户,新增s3user_meta和s3user_data用户,分别对应meta和data桶。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
v3.5.0
亮点特性
- 支持 PG 18 (Beta),扩展更新,总数达到 421 个
- OrioleDB 与 OpenHalo 内核在全平台上可用
- 可使用
pig do子命令代替bin脚本 - Supabase 自建加强,解决若干遗留问题,例如复制延迟与密钥分发
- 代码重构与架构优化,优化了 Postgres 与 Pgbouncer 默认参数
- 更新了 Grafana 12, pg_exporter 1.0 与相关插件,翻修面板
curl https://repo.pigsty.cc/get | bash -s v3.5.0
- 支持 PostgreSQL 18
- 通过 pg_exporter 1.0.0 支持 PG18 监控指标
- 通过 pig 0.4.1 支持 PG18 安装 Alias。
- 提供
pg18配置模板 - 重构
pgsql模块 - PGSQL 重构,将 PG 监控抽离为单独的
pg_monitor角色,移除clean逻辑 - 去除冗余重复的任务,合并同类项,精简配置。移除
dir/utils任务块 - 所有扩展默认安装至
extensions模式中(与 supabase 安全实践保持一致) - 重命名模板文件,移除所有
.j2后缀 - 为所有模板中的
monitor函数添加SET命令清空search_path,遵循 Supabase 安全最佳实践。 - 调整 pgbouncer 默认参数,增大默认链接池大小,设置链接池清理查询。
- 新增参数
pgbouncer_ignore_param,允许配置 pgbouncer 忽略的参数列表 - 新增任务
pg_key用于生成pgsodium所需的服务端密钥 - 针对 PG 17 默认启用
sync_replication_slots - 重新调整了子任务标签,使其更符合配置小节的拆分逻辑
- 重构
pg_remove模块 - 重命名参数:
pg_rm_data,pg_rm_bkup,pg_rm_pkg用于控制删除的内容 - 重新调整角色代码结构,使用更清楚的标签进行划分
- 新增
pg_monitor模块 pgbouncer_exporter现在不再和pg_exporter共享配置文件- 新增了 TimescaleDB, Citus,pg_wait_event 的监控指标。
- 使用
pg_exporter1.0.0 ,更新了 PG16/17/18 相关监控指标。 - 使用更为紧凑,全新设计的指标收集器配置文件。
- Supabase 加强 (感谢来自 @lawso017 的贡献!)
- 将 Supabase 容器镜像与数据库模式更新至最新版本
- 现在默认支持
pgsodium服务端密钥加载 - 通过 supa-kick 定时任务解决 logflare 无法及时更新复制进度的问题
- 为 monitor 模式中的函数添加
set search_path子句以遵循安全最佳实践 - CLI 新增
pig do命令,允许通过命令行工具替代bin/中的 Shell 脚本 - 监控系统更新
- 更新 Grafana 大版本至 12.0.0,更新相关插件/数据源软件包
- 更新 Postgres 数据源 uid 命名方式(以适应新的
uid长度限制与字符限制) - 新增了 Static Datasource
- 更新了现有 Dashboard,修复若干遗留问题
基础设施软件包更新
- pig 0.4.2
- duckdb 1.3.0
- etcd 3.6.0
- vector 0.47.0
- minio 20250422221226
- mcli 20250416181326
- pev 1.5.0
- rclone 1.69.3
- mtail 3.0.8 (new)
可观测性软件包更新
- grafana 12.0.0
- grafana-victorialogs-ds 0.16.3
- grafana-victoriametrics-ds 0.15.1
- grafana-infinity-ds 3.2.1
- grafana_plugins 12.0.0
- prometheus 3.4.0
- pushgateway 1.11.1
- nginx_exporter 1.4.2
- pg_exporter 1.0.0
- pgbackrest_exporter 0.20.0
- redis_exporter 1.72.1
- keepalived_exporter 1.6.2
- victoriametrics 1.117.1
- victoria_logs 1.22.2
数据库软件包更新
- PostgreSQL 17.5, 16.9, 15.13, 14.18, 13.21
- PostgreSQL 18beta1 支持
- pgbouncer 1.24.1
- pgbackrest 2.55
- pgbadger 13.1
Postgres 扩展包更新
- spat 0.1.0a4 新扩展
- pgsentinel 1.1.0 新扩展
- pgdd 0.6.0 (pgrx 0.14.1) 新扩展
- convert 0.0.4 (pgrx 0.14.1) 新扩展
- pg_tokenizer.rs 0.1.0 (pgrx 0.13.1)
- pg_render 0.1.2 (pgrx 0.12.8)
- pgx_ulid 0.2.0 (pgrx 0.12.7)
- pg_idkit 0.3.0 (pgrx 0.14.1)
- pg_ivm 1.11.0
- orioledb 1.4.0 beta11 新增 debian/ubuntu 支持
- openhalo 14.10 新增 debian/ubuntu 支持
- omnigres 20250507 (在 d12/u22 编译最新版本失败)
- citus 12.0.3
- timescaledb 2.20.0 (移除 PG14 支持)
- supautils 2.9.2
- pg_envvar 1.0.1
- pgcollection 1.0.0
- aggs_for_vecs 1.4.0
- pg_tracing 0.1.3
- pgmq 1.5.1
- tzf-pg 0.2.0 (pgrx 0.14.1)
- pg_search 0.15.18 (pgrx 0.14.1)
- anon 2.1.1 (pgrx 0.14.1)
- pg_parquet 0.4.0 (0.14.1)
- pg_cardano 1.0.5 (pgrx 0.12) -> 0.14.1
- pglite_fusion 0.0.5 (pgrx 0.12.8) -> 14.1
- vchord_bm25 0.2.1 (pgrx 0.13.1)
- vchord 0.3.0 (pgrx 0.13.1)
- pg_vectorize 0.22.1 (pgrx 0.13.1)
- wrappers 0.4.6 (pgrx 0.12.9)
- timescaledb-toolkit 1.21.0 (pgrx 0.12.9)
- pgvectorscale 0.7.1 (pgrx 0.12.9)
- pg_session_jwt 0.3.1 (pgrx 0.12.6) -> 0.12.9
- pg_timetable 5.13.0
- ferretdb 2.2.0
- documentdb 0.103.0 (新增 aarch64支持)
- pgml 2.10.0 (pgrx 0.12.9)
- sqlite_fdw 2.5.0 (fix pg17 deb)
- tzf 0.2.2 0.14.1 (rename src)
- pg_vectorize 0.22.2 (pgrx 0.13.1)
- wrappers 0.5.0 (pgrx 0.12.9)
校验和
ab91bc05c54b88c455bf66533c1d8d43 pigsty-v3.6.0.tgz
4c9fabc2d1f0ed733145af2b6aff2f48 pigsty-pkg-v3.5.0.d12.x86_64.tgz
796d47de12673b2eb9882e527c3b6ba0 pigsty-pkg-v3.5.0.el8.x86_64.tgz
a53ef2cede1363f11e9faaaa43718fdc pigsty-pkg-v3.5.0.el9.x86_64.tgz
36da28f97a845fdc0b7bbde2d3812a67 pigsty-pkg-v3.5.0.u22.x86_64.tgz
8551b3e04b38af382163e6857778437d pigsty-pkg-v3.5.0.u24.x86_64.tgz
v3.4.1
GitHub 发布页面:v3.4.1
- 在 EL 系统上增加了对 MySQL 协议兼容 PostgreSQL 内核的支持:openHalo
- 在 EL 系统上增加了对 OLTP 增强 PostgreSQL 内核的支持:orioledb
- 优化了 pgAdmin 9.2 应用模板,具有自动服务器列表更新和 pgpass 密码填充功能
- 将 PG 默认最大连接数增加到 250、500、1000
- 从 EL8 中删除了有依赖错误的
mysql_fdw扩展
基础设施更新
- pig 0.3.4
- etcd 3.5.21
- restic 0.18.0
- ferretdb 2.1.0
- tigerbeetle 0.16.34
- pg_exporter 0.8.1
- node_exporter 1.9.1
- grafana 11.6.0
- zfs_exporter 3.8.1
- mongodb_exporter 0.44.0
- victoriametrics 1.114.0
- minio 20250403145628
- mcli 20250403170756
扩展更新
- 将 pg_search 升级到 0.15.13
- 将 citus 升级到 13.0.3
- 将 timescaledb 升级到 2.19.1
- 将 pgcollection RPM 升级到 1.0.0
- 将 pg_vectorize RPM 升级到 0.22.1
- 将 pglite_fusion RPM 升级到 0.0.4
- 将 aggs_for_vecs RPM 升级到 1.4.0
- 将 pg_tracing RPM 升级到 0.1.3
- 将 pgmq RPM 升级到 1.5.1
校验和
471c82e5f050510bd3cc04d61f098560 pigsty-v3.4.1.tgz
4ce17cc1b549cf8bd22686646b1c33d2 pigsty-pkg-v3.4.1.d12.aarch64.tgz
c80391c6f93c9f4cad8079698e910972 pigsty-pkg-v3.4.1.d12.x86_64.tgz
811bf89d1087512a4f8801242ca8bed5 pigsty-pkg-v3.4.1.el9.x86_64.tgzz
9fe2e6482b14a3e60863eeae64a78945 pigsty-pkg-v3.4.1.u22.x86_64.tgz
v3.4.0
GitHub 发布页面:v3.4.0
介绍博客:Pigsty v3.4 MySQL 兼容性和全面增强
新功能
- 增加了新的 pgBackRest 备份监控指标和仪表板
- 增强了 Nginx 服务器配置选项,支持自动 Certbot 签发
- 现在优先使用 PostgreSQL 内置的
C/C.UTF-8区域设置 - IvorySQL 4.4 现在在所有平台上完全支持(RPM/DEB 在 x86/ARM 上)
- 增加了新的软件包:Juicefs、Restic、TimescaleDB EventStreamer
- Apache AGE 图数据库扩展现在在 EL 上完全支持 PostgreSQL 13–17
- 改进了
app.ymlplaybook:无需额外配置即可启动标准 Docker 应用 - 升级 Supabase、Dify 和 Odoo 应用模板到最新版本
- 增加 electric 应用模板,本地优先的 PostgreSQL 同步引擎
基础设施包
- +restic 0.17.3
- +juicefs 1.2.3
- +timescaledb-event-streamer 0.12.0
- Prometheus 3.2.1
- AlertManager 0.28.1
- blackbox_exporter 0.26.0
- node_exporter 1.9.0
- mysqld_exporter 0.17.2
- kafka_exporter 1.9.0
- redis_exporter 1.69.0
- pgbackrest_exporter 0.19.0-2
- DuckDB 1.2.1
- etcd 3.5.20
- FerretDB 2.0.0
- tigerbeetle 0.16.31
- vector 0.45.0
- VictoriaMetrics 1.113.0
- VictoriaLogs 1.17.0
- rclone 1.69.1
- pev2 1.14.0
- grafana-victorialogs-ds 0.16.0
- grafana-victoriametrics-ds 0.14.0
- grafana-infinity-ds 3.0.0
PostgreSQL 相关
- Patroni 4.0.5
- PolarDB 15.12.3.0-e1e6d85b
- IvorySQL 4.4
- pgbackrest 2.54.2
- pev2 1.14
- WiltonDB 13.17
PostgreSQL 扩展
- pgspider_ext 1.3.0(新扩展)
- apache age 13–17 el rpm (1.5.0)
- timescaledb 2.18.2 → 2.19.0
- citus 13.0.1 → 13.0.2
- documentdb 1.101-0 → 1.102-0
- pg_analytics 0.3.4 → 0.3.7
- pg_search 0.15.2 → 0.15.8
- pg_ivm 1.9 → 1.10
- emaj 4.4.0 → 4.6.0
- pgsql_tweaks 0.10.0 → 0.11.0
- pgvectorscale 0.4.0 → 0.6.0 (pgrx 0.12.5)
- pg_session_jwt 0.1.2 → 0.2.0 (pgrx 0.12.6)
- wrappers 0.4.4 → 0.4.5 (pgrx 0.12.9)
- pg_parquet 0.2.0 → 0.3.1 (pgrx 0.13.1)
- vchord 0.2.1 → 0.2.2 (pgrx 0.13.1)
- pg_tle 1.2.0 → 1.5.0
- supautils 2.5.0 → 2.6.0
- sslutils 1.3 → 1.4
- pg_profile 4.7 → 4.8
- pg_snakeoil 1.3 → 1.4
- pg_jsonschema 0.3.2 → 0.3.3
- pg_incremental 1.1.1 → 1.2.0
- pg_stat_monitor 2.1.0 → 2.1.1
- ddl_historization 0.7 → 0.0.7(错误修复)
- pg_sqlog 3.1.7 → 1.6(错误修复)
- pg_random 删除开发后缀(错误修复)
- asn1oid 1.5 → 1.6
- table_log 0.6.1 → 0.6.4
接口变更
- 增加了新的 Docker 参数:
docker_data和docker_storage_driver(#521 由 @waitingsong 提供) - 增加了新的基础设施参数:
alertmanager_port,让您指定 AlertManager 端口 - 增加了新的基础设施参数:
certbot_sign,在 nginx 初始化期间申请证书?(默认为 false) - 增加了新的基础设施参数:
certbot_email,指定通过 Certbot 请求证书时使用的邮箱 - 增加了新的基础设施参数:
certbot_options,指定 Certbot 的额外参数 - 更新 IvorySQL,从 IvorySQL 4.4 开始将其默认二进制文件放在
/usr/ivory-4下 - 将
pg_lc_ctype和其他区域相关参数的默认值从en_US.UTF-8更改为C - 对于 PostgreSQL 17,如果使用
UTF8编码与C或C.UTF-8区域,PostgreSQL 的内置本地化规则现在优先 configure自动检测 PG 版本和环境是否都支持C.utf8,并相应调整区域相关选项- 将默认 IvorySQL 二进制路径设置为
/usr/ivory-4 - 更新
pg_packages的默认值为pgsql-main patroni pgbouncer pgbackrest pg_exporter pgbadger vip-manager - 更新
repo_packages的默认值为[node-bootstrap, infra-package, infra-addons, node-package1, node-package2, pgsql-utility, extra-modules] - 从
/etc/profile.d/node.sh中删除LANG和LC_ALL环境变量设置 - 现在使用
bento/rockylinux-8和bento/rockylinux-9作为 EL 的 Vagrant box 镜像 - 增加了新别名
extra_modules,包含额外的可选模块 - 更新 PostgreSQL 别名:
postgresql、pgsql-main、pgsql-core、pgsql-full - GitLab 仓库现在包含在可用模块中
- Docker 模块已合并到基础设施模块中
node.ymlplaybook 现在包含node_pip任务,在每个节点上配置 pip 镜像pgsql.ymlplaybook 现在包含pgbackrest_exporter任务,用于收集备份指标Makefile现在允许使用META/PKG环境变量- 增加
/pg/spool目录作为 pgBackRest 的临时存储 - 默认禁用 pgBackRest 的
link-all选项 - 默认为 MinIO 仓库启用块级增量备份
错误修复
- 修复
pg-backup中的退出状态码(#532 由 @waitingsong 提供) - 在
pg-tune-hugepage中,限制 PostgreSQL 仅使用大页面(#527 由 @waitingsong 提供) - 修复
pg-role任务中的逻辑错误 - 纠正大页面配置参数的类型转换
- 修复
slim模板中node_repo_modules的默认值问题
校验和
768bea3bfc5d492f4c033cb019a81d3a pigsty-v3.4.0.tgz
7c3d47ef488a9c7961ca6579dc9543d6 pigsty-pkg-v3.4.0.d12.aarch64.tgz
b5d76aefb1e1caa7890b3a37f6a14ea5 pigsty-pkg-v3.4.0.d12.x86_64.tgz
42dacf2f544ca9a02148aeea91f3153a pigsty-pkg-v3.4.0.el8.aarch64.tgz
d0a694f6cd6a7f2111b0971a60c49ad0 pigsty-pkg-v3.4.0.el8.x86_64.tgz
7caa82254c1b0750e89f78a54bf065f8 pigsty-pkg-v3.4.0.el9.aarch64.tgz
8f817e5fad708b20ee217eb2e12b99cb pigsty-pkg-v3.4.0.el9.x86_64.tgz
8b2fcaa6ef6fd8d2726f6eafbb488aaf pigsty-pkg-v3.4.0.u22.aarch64.tgz
83291db7871557566ab6524beb792636 pigsty-pkg-v3.4.0.u22.x86_64.tgz
c927238f0343cde82a4a9ab230ecd2ac pigsty-pkg-v3.4.0.u24.aarch64.tgz
14cbcb90693ed5de8116648a1f2c3e34 pigsty-pkg-v3.4.0.u24.x86_64.tgz
v3.3.0
- 可用扩展总数增加到 404!
- PostgreSQL 二月小版本更新:17.4、16.8、15.12、14.17、13.20
- 新功能:
app.yml脚本,用于自动安装 Odoo、Supabase、Dify 等应用。 - 新功能:在
infra_portal中进一步自定义 Nginx 配置。 - 新功能:增加 Certbot 支持,快速申请免费 HTTPS 证书。
- 新功能:
pg_default_extensions现在支持纯文本扩展列表。 - 新功能:默认仓库现在包含 mongo、redis、groonga、haproxy 等。
- 新参数:
node_aliases,为节点添加命令别名。 - 修复:解决 Bootstrap 脚本中的默认 EPEL 仓库地址问题。
- 改进:为 Debian Security 仓库添加阿里云镜像。
- 改进:IvorySQL 内核的 pgBackRest 备份支持。
- 改进:PolarDB 的 ARM64 和 Debian/Ubuntu 支持。
- pg_exporter 0.8.0 现在支持 pgbouncer 1.24 中的新指标。
- 新功能:
git、docker、systemctl等常用命令的自动补全 #506 #507 由 @waitingsong 提供。 - 改进:优化
pgbouncer配置模板中的ignore_startup_parameters#488 由 @waitingsong 提供。 - 新主页设计:Pigsty 的网站现在拥有全新的外观。
- 扩展目录:RPM/DEB 二进制包的详细信息和下载链接。
- 扩展构建:
pigCLI 现在自动设置 PostgreSQL 扩展构建环境。
更多版本信息请参考 GitHub 发布页面。
v3.2.2
- 新增扩展包:
Omnigres33个扩展,将postgres作为应用开发平台 - 新增扩展:
pg_mooncake: postgres中的duckdb - 新增扩展:
pg_xxhash - 新增扩展:
timescaledb_toolkit - 新增扩展:
pg_xenophile - 新增扩展:
pg_drop_events - 新增扩展:
pg_incremental - 升级
citus至13.0.0,支持PostgreSQL 17 - 升级
pgml至2.10.0 - 升级
pg_extra_time至2.0.0 - 升级
pg_vectorize至0.20.0
变更内容
- 升级IvorySQL至4.2版本(基于PostgreSQL 17.2)
- 为PolarDB内核添加Arm64和Debian支持
- 在默认
infra_packages中添加certbot和certbot-nginx - 增加pgbouncer的max_prepared_statements参数至256
- 移除
pgxxx-citus包别名 - 在
pg_extensions中默认隐藏pgxxx-olap类别(因为存在两对扩展冲突)
v3.2.1
亮点特性
- PG扩展插件数量提升至350个,新增强力Rust扩展anon。
- IvorySQL支持更新至PG17兼容的4.0版本
- 使用Pigsty编译的Citus,TimescaleDB与PGroonga。
- 添加Odoo一键自建模板与新app.yml剧本
新增 13 扩展插件:
- 新增 pg_anon 2.0.0
- 新增 omnisketch 1.0.2
- 新增 ddsketch 1.0.1
- 新增 pg_duration 1.0.1
- 新增 ddl_historization 0.0.7
- 新增 data_historization 1.1.0
- 新增 schedoc 0.0.1
- 新增 floatfile 1.3.1
- 新增 pg_upless 0.0.3
- 新增 pg_task 1.0.0
- 新增 pg_readme 0.7.0
- 新增 vasco 0.1.0
- 新增 pg_xxhash 0.0.1
更新扩展版本
- lower_quantile 1.0.3
- quantile 1.1.8
- sequential_uuids 1.0.3
- pgmq 1.5.0 (subdir)
- floatvec 1.1.1
- pg_parquet 0.2.0
- wrappers 0.4.4
- pg_later 0.3.0
- topn fix for deb.arm64
- add age 17 on debian
- powa + pg17, 5.0.1
- h3 + pg17
- ogr_fdw + pg17
- age + pg17 1.5 on debian
- pgtap + pg17 1.3.3
- repmgr
- topn + pg17
- pg_partman 5.2.4
- credcheck 3.0
- ogr_fdw 1.1.5
- ddlx 0.29
- postgis 3.5.1
- tdigest 1.4.3
- pg_repack 1.5.2
v3.2.0
亮点特性
- Pigsty 命令行工具:
pig0.2.0,可用于管理扩展插件。 - 提供五大发行版上 390 个扩展 的 ARM64 扩展支持
- Supabase 发布周最新版本更新,全发行版均可自建。
- Grafana 更新至 11.4 ,新增 infinity 数据源。
软件包变化
新增扩展
- 新增 timescaledb, timescaledb-loader timescaledb-toolkit timescaledb-tool to PIGSTY repo
- 新增 pg_timescaledb,针对 EL 进行的编译重制版本
- 新增 pgroonga,针对 EL 全系进行编译重制
- 新增 vchord 0.1.0
- 新增 pg_bestmatch.rs 0.0.1
- 新增 pglite_fusion 0.0.3
- 新增 pgpdf 0.1.0
更新扩展
- pgvectorscale 0.4.0 -> 0.5.1
- pg_parquet 0.1.0 -> 0.1.1
- pg_polyline 0.0.1
- pg_cardano 1.0.2 -> 1.0.3
- pg_vectorize 0.20.0
- pg_duckdb 0.1.0 -> 0.2.0
- pg_search 0.13.0 -> 0.13.1
- aggs_for_vecs 1.3.1 -> 1.3.2
pgoutput被标记为新的 PostgreSQL Contrib 扩展
基础设施
- 新增 promscale 0.17.0
- 新增 grafana-plugins 11.4
- 新增 grafana-infinity-plugins
- 新增 grafana-victoriametrics-ds
- 新增 grafana-victorialogs-ds
- vip-manager 2.8.0 -> 3.0.0
- vector 0.42.0 -> 0.43.0
- grafana 11.3 -> 11.4
- prometheus 3.0.0 -> 3.0.1 (软件包名从
prometheus2变更为prometheus) - nginx_exporter 1.3.0 -> 1.4.0
- mongodb_exporter 0.41.2 -> 0.43.0
- VictoriaMetrics 1.106.1 -> 1.107.0
- VictoriaLogs 1.0.0 -> 1.3.2
- pg_timetable 5.9.0 -> 5.10.0
- tigerbeetle 0.16.13 -> 0.16.17
- pg_export 0.7.0 -> 0.7.1
缺陷修复
- el8.aarch64 添加 python3-cdiff 修复 patroni 依赖错漏问题
- el9.aarch64 添加 timescaledb-tools ,修复官方仓库缺失问题
- el9.aarch64 添加 pg_filedump ,修复官方仓库缺失问题
移除扩展
- pg_mooncake 因为与
pg_duckdb冲突而被移除。 - pg_top 因为出现太多版本出现缺失,因质量问题而淘汰。
- hunspell_pt_pt 因为与 PG 官方字典文件冲突而被淘汰。
- pg_timeit 因为无法在 AARCH64 架构上使用而被淘汰。
- pgdd 因为缺乏维护,PG 17 与 pgrx 版本老旧而被标记为弃用。
- old_snapshot 与 adminpack 被标记为 PG 17 不可用。
- pgml 被设置为默认不下载不安装。
- pg_mooncake 因为与
API变化
repo_url_packages参数现在默认值为空数组,因为所有软件包现在都通过操作系统包管理器进行安装。grafana_plugin_cache参数弃用,现在 Grafana 插件通过操作系统包管理器进行安装grafana_plugin_list参数弃用,现在 Grafana 插件通过操作系统包管理器进行安装- 原名为
prod的 36 节点仿真模板现在重命名为simu。 - 原本在
node_id/vars针对每个发行版代码生成的配置,现在同样针对aarch64生成。 infra_packages中默认添加命令行管理工具pigconfigure命令同样会修改自动生成配置文件中pgsql-xxx别名的版本号。adminpack在 PG 17 中被移除,因此从 Pigsty 默认扩展中被移除。
问题修复
- 修复了
pgbouncer仪表盘选择器问题 #474 pg-pitr新增--arg value参数解析支持 by @waitingsong- 修复 Redis 日志信息 typo by @waitingsong
软件包校验和
8fdc6a60820909b0a2464b0e2b90a3a6 pigsty-v3.2.0.tgz
d2b85676235c9b9f2f8a0ad96c5b15fd pigsty-pkg-v3.2.0.el9.aarch64.tgz
649f79e1d94ec1845931c73f663ae545 pigsty-pkg-v3.2.0.el9.x86_64.tgz
c42da231067f25104b71a065b4a50e68 pigsty-pkg-v3.2.0.d12.aarch64.tgz
ebb818f98f058f932b57d093d310f5c2 pigsty-pkg-v3.2.0.d12.x86_64.tgz
24c0be1d8436f3c64627c12f82665a17 pigsty-pkg-v3.2.0.u22.aarch64.tgz
0b9be0e137661e440cd4f171226d321d pigsty-pkg-v3.2.0.u22.x86_64.tgz
v3.1.0
亮点特性
- PostgreSQL 17 现已成为默认使用的主要版本 (17.2)
- Ubuntu 24.04 系统支持
- arm 架构支持:EL9, Debian12, Ubuntu 22.04
- Supabase 一键自建,新的剧本
supabase.yml - MinIO 最佳实践改进,配置模板与 Vagrant 模板
- 提供了一系列开箱即用的配置模板与文档说明。
- 允许在
configure过程中使用-v|--version指定使用的 PG 大版本。 - 调整 PG 默认插件策略:默认安装
pg_repack,wal2json以及pgvector三个关键扩展。 - 大幅简化
repo_packages本地软件源构建逻辑,允许在repo_packages中使用软件包组别名 - 提供了 WiltonDB,IvorySQL,PolarDB 的软件源镜像,简化三者的安装。
- 默认启用数据库校验和。
- 修复 ETCD 与 MINIO 日志面板
软件升级
- PostgreSQL 17.2, 16.6, 15.10, 14.15, 13.18, 12.22
- PostgreSQL 扩展版本变动请参考:https://pgext.cloud
- Patroni 4.0.4
- MinIO 20241107 / MCLI 20241117
- Rclone 1.68.2
- Prometheus: 2.54.0 -> 3.0.0
- VictoriaMetrics 1.102.1 -> 1.106.1
- VictoriaLogs v0.28.0 -> 1.0.0
- vslogcli 1.0.0
- MySQL Exporter 0.15.1 -> 0.16.0
- Redis Exporter 1.62.0 -> 1.66.0
- MongoDB Exporter 0.41.2 -> 0.42.0
- Keepalived Exporter 1.3.3 -> 1.4.0
- DuckDB 1.1.2 -> 1.1.3
- etcd 3.5.16 -> 3.5.17
- tigerbeetle 16.8 -> 0.16.13
API变更
repo_upstream: 针对每个具体的操作系统发行版生成默认值:roles/node_id/varsrepo_packages: 允许使用package_map中定义的别名。repo_extra_packages: 新增未指定时的默认值,允许使用package_map中定义的别名。pg_checksum: 默认值修改为true,默认打开。pg_packages: 默认值修改为:postgresql, wal2json pg_repack pgvector, patroni pgbouncer pgbackrest pg_exporter pgbadger vip-managerpg_extensions: 默认值修改为空数组[]。infra_portal: 允许为home服务器指定path,替代默认的本地仓库路径nginx_home(/www)
校验和
e62f9ce9f89a58958609da7b234bf2f2 pigsty-v3.1.0.tgz
v3.0.4
特性
- 针对 PostgreSQL 17 编译了所有支持的 Pigsty 扩展插件
- 提供了全新的 OLAP 扩展支持:
pg_duckdb与pg_parquet - 简化并优化了最新版本 Supabase 自建的流程
- 新增参数
docker_image,允许在 Docker 安装后自动拉取镜像。
扩展
欢迎查阅我们最新的 PostgreSQL 扩展目录: https://pgext.cloud
| 统计项 | 总计 | PGDG | PIGSTY | MISC | MISS | PG17 | PG16 | PG15 | PG14 | PG13 | PG12 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| EL系统扩展 | 338 | 134 | 130 | 4 | 7 | 298 | 334 | 336 | 328 | 319 | 310 |
| Deb系统扩展 | 326 | 109 | 143 | 74 | 19 | 290 | 322 | 324 | 316 | 307 | 300 |
| RPM 软件包 | 313 | 122 | 129 | 4 | 6 | 275 | 309 | 311 | 303 | 294 | 285 |
| DEB 软件包 | 298 | 93 | 142 | 64 | 19 | 264 | 294 | 296 | 288 | 279 | 272 |
版本升级
新的PGSQL扩展
升级与跟进PG扩展
- pg_search 0.11.0
- pg_analytics 0.2.0
- plv8 3.2.3
- supautils 2.5.0
- icu_ext 1.9.0
- redis_fdw 17
- pg_failover_slots 1.1.0
- pg_later 0.1.3
- plprql 1.0.0
- pg_vectorize 0.18.3
- unit 7.7 -> 7.9
- log_fdw 1.4
- pg_duckdb 0.1.0
- pg_graphql 1.5.9 (+17)
- pg_jsonschema 0.3.2 (+17)
- pgvectorscale 0.4.0 (+17)
- wrappers 0.4.3 +pg17
- pg_ivm 1.9
- pg_timeseries 0.1.6
- pgmq 1.4.4
- pg_protobuf 16 17
- pg_uuidv7 1.6
- pg_readonly
- pgddl 0.28
- pg_safeupdate
- pg_stat_monitor 2.1
- pg_profile 4.7
- system_stats 3.2
- pg_auth_mon 3.0
- login_hook 1.6
- logerrors 2.1.3
- pg-orphaned
- pgnodemx 1.7
- sslutils 1.4 (deb+pg16,17)
- timestamp9 (deb)
修复不支持PG16/17的扩展
- pg_mon
- pg_uri
- agg_for_vecs
- quantile
- lower_quantile
- pg_protobuf
- acl
- pg_emailaddr
- pg_zstd
- smlar
- geohash
- pgsmcrypto (+17)
- pg_tiktoken (+17)
- pg_idkit (+17)
基础设施软件包
- Grafana 11.3
- duckdb 1.1.2
- etcd 3.5.16
- ferretdb 1.24.0
- minio 20241013133411
- mcli 2024101313411
- pushgateway 1.10
- tigerbeetle 0.16.8
- mongodb_exporter 0.41.2
- redis_exporter 1.64.1
- vector 0.41.1
- vip-manager 2.7
- sealos 5.0.1
v3.0.3
特性
- 提供对最新发布的 PostgreSQL 17 支持。
- 优化了 etcd 配置,监控,与告警规则
- (Oracle兼容的)IvorySQL 3.4 支持,与 PostgreSQL 16.4 同步
版本升级
- PostGIS 3.5
- Grafana 11.2
- duckdb 1.1
- pg_search 0.10.2
- pg_analytics 0.1.4
v3.0.2
特性
- 精简安装模式:使用
slim.yml进行最精简的 HA PGSQL 部署。 - PolarDB PG 15 的原生支持。
- 优化
monitor.pg_table_bloat与monitor.pg_index_bloat,使用安全定义包装函数规避 PolarDB 统计视图权限问题。 - 在各模块的监控注册阶段,尊重
prometheus_enabled与grafana_enabled配置选项,关闭时不再注册。 - 在
/etc/profile.d/pgsql.sh中添加PGDATABASE与PGPORT环境变量,设置为pg_primary_db(默认postgres)
变更
- 在 Pigsty PGSQL 仓库中移除 PolarDB 11 与 CloudberryDB 1.5.4 的 RPM/APT 包。
- 使用专用的仓库分发 PolarDB 15 与 CloudberryDB 1.6.0 的 RPM/APT 包。
问题修复
- 修复 Redis 的
/etc/tmp.files.d文件名错误。 - 在管理 pgbouncer 用户时,设置
PGHOST与PGPORT环境变量。 - 临时移除
pg_snakeoil扩展支持,因为 EL8 上游源clamv出现依赖缺失问题。 - 移除
pgsql角色的 Notify / Handler,以兼容更老的 Ansible 2.9 版本。
v3.0.1
特性改进
- PolarDB Oracle 兼容性模式支持(需要第三方商业闭源内核)
- 使用 Oracle 兼容的 SQL 语法改写监控视图与相关 SQL 语句
- Patroni 4 支持与适配
- 新增扩展
pg_analytics,通过 duckdb 为 PG 加装分析能力 - 添加新扩展:
odbc_fdw与jdbc_fdw,提供通用的外部数据源连接能力 - 仓库添加新内核
cloudberrydb(Greenplum 原班开发者的开源分支) - 仓库添加新工具
walminer,从WAL(replica等级)中提取原始 SQL。(高级特性需自行购买License) - 更新执行计划可视化工具 Pev2 版本至 1.12.1
- 新增Grafana插件:
volkovlabs-rss-datasource - 在PGCAT databases监控面板中添加了已安装和待安装的扩展插件
- PGSQL 主库初始化后,会重启一次以便 pg_param & pg_files 生效,因此 Supabase PG / PolarDB 集群置备后无需重启。
问题修复
- 修复了 Grafana 11.1.4 面板插件默认不加载的问题
- 修复了特定操作系统上 BlackBox Exporter Ping 探针失效的问题
- 确保 /var/run/postgresql 与 /var/run/redis 临时目录总是在重启后自动创建
- 修复了
cache.yml剧本没有正确移除老旧的 patroni 3.0.4 RPM 包问题 - 修复了个别告警规则中的描述信息错误
- 移除了 Patroni 配置文件中过时的 Bootstrap User/HBA 参数
v3.0.0
亮点特性
- 扩展大爆炸:
Pigsty v3 提供了史无前例的 333 个可用扩展插件。 包括 121 个扩展 RPM包 与 133 个 DEB包,数量已经超过了 PGDG 官方仓库提供的扩展数量总和(135 RPM/ 109 DEB)。 而且,Pigsty 还将EL系统与Debian生态的独有PG扩展插件相互移植,实现了两大发行版的插件生态大对齐。
- timescaledb periods temporal_tables emaj table_version pg_cron pg_later pg_background pg_timetable
- postgis pgrouting pointcloud pg_h3 q3c ogr_fdw geoip #pg_geohash #mobilitydb
- pgvector pgvectorscale pg_vectorize pg_similarity pg_tiktoken pgml #smlar
- pg_search pg_bigm zhparser hunspell
- hydra pg_lakehouse pg_duckdb duckdb_fdw pg_fkpart pg_partman plproxy #pg_strom citus
- pg_hint_plan age hll rum pg_graphql pg_jsonschema jsquery index_advisor hypopg imgsmlr pg_ivm pgmq pgq #rdkit
- pg_tle plv8 pllua plprql pldebugger plpgsql_check plprofiler plsh #pljava plr pgtap faker dbt2
- prefix semver pgunit md5hash asn1oid roaringbitmap pgfaceting pgsphere pg_country pg_currency pgmp numeral pg_rational pguint ip4r timestamp9 chkpass #pg_uri #pgemailaddr #acl #debversion #pg_rrule
- topn pg_gzip pg_http pg_net pg_html5_email_address pgsql_tweaks pg_extra_time pg_timeit count_distinct extra_window_functions first_last_agg tdigest aggs_for_arrays pg_arraymath pg_idkit pg_uuidv7 permuteseq pg_hashids
- sequential_uuids pg_math pg_random pg_base36 pg_base62 floatvec pg_financial pgjwt pg_hashlib shacrypt cryptint pg_ecdsa pgpcre icu_ext envvar url_encode #pg_zstd #aggs_for_vecs #quantile #lower_quantile #pgqr #pg_protobuf
- pg_repack pg_squeeze pg_dirtyread pgfincore pgdd ddlx pg_prioritize pg_checksums pg_readonly safeupdate pg_permissions pgautofailover pg_catcheck preprepare pgcozy pg_orphaned pg_crash pg_cheat_funcs pg_savior table_log pg_fio #pgpool pgagent
- pg_profile pg_show_plans pg_stat_kcache pg_stat_monitor pg_qualstats pg_store_plans pg_track_settings pg_wait_sampling system_stats pg_meta pgnodemx pg_sqlog bgw_replstatus pgmeminfo toastinfo pagevis powa pg_top #pg_statviz #pgexporter_ext #pg_mon
- passwordcheck supautils pgsodium pg_vault anonymizer pg_tde pgsmcrypto pgaudit pgauditlogtofile pg_auth_mon credcheck pgcryptokey pg_jobmon logerrors login_hook set_user pg_snakeoil pgextwlist pg_auditor noset #sslutils
- wrappers multicorn mysql_fdw tds_fdw sqlite_fdw pgbouncer_fdw mongo_fdw redis_fdw pg_redis_pubsub kafka_fdw hdfs_fdw firebird_fdw aws_s3 log_fdw #oracle_fdw #db2_fdw
- orafce pgtt session_variable pg_statement_rollback pg_dbms_metadata pg_dbms_lock pgmemcache #pg_dbms_job #wiltondb
- pglogical pgl_ddl_deploy pg_failover_slots wal2json wal2mongo decoderbufs decoder_raw mimeo pgcopydb pgloader pg_fact_loader pg_bulkload pg_comparator pgimportdoc pgexportdoc #repmgr #slony
- gis-stack rag-stack fdw-stack fts-stack etl-stack feat-stack olap-stack supa-stack stat-stack json-stack
- 可插拔内核:
Pigsty v3 允许您更换 PostgreSQL 内核,目前支持了 SQL Server 兼容的 Babelfish (线缆协议级仿真),Oracle 兼容的 IvorySQL,以及 PG 版的 RAC PolarDB;此外,现在自托管 Supabase 也在 Debian 系统中可用。 您可以让 Pigsty 中带有 HA,IaC,PITR,监控的生产级 PostgreSQL 集群仿真 MSSQL (via WiltonDB),Oracle via (IvorySQL),Oracle RAC (via PolarDB), MongoDB(via FerretDB),以及 Firebase (via Supabase)。
- 专业级服务:
我们现在提供 Pigsty Pro 专业版,在开源版的功能基础上提供增值服务。专业版提供额外的功能模块:MSSQL,Oracle,Mongo,K8S,Victoria,Kafka,TigerBeetle 等……,并提供更广泛的 PG 大版本、操作系统、芯片架构的支持。 提供针对全系操作系统精准小版本定制的离线安装包,以及 EL7,Debian 11,Ubuntu 20.04 等过保老系统的支持;此外,专业版还提供内核可插拔定制服务,并对PolarDB PG 的原生部署、监控管控支持以满足“国产化”需要。
使用以下命令快速安装体验:
curl -fsSL https://repo.pigsty.cc/get | bash
cd ~/pigsty; ./bootstrap; ./configure; ./install.yml
重大变更
本次 Pigsty 发布调整大版本号,从 2.x 升级到 3.0,带有一些重大变更:
首要支持操作系统调整为:EL 8 / EL 9 / Debian 12 / Ubuntu 22.04
- EL7 / Debian 11 / Ubuntu 20.04 等系统进入弃用阶段,不再提供支持
- 有在这些系统上运行需求的用户请考虑我们的 订阅服务
默认使用在线安装,不再提供离线软件包,从而解决操作系统小版本兼容性问题。
bootstrap过程现在不再询问是否下载离线安装包,但如果/tmp/pkg.tgz存在,仍然会自动使用离线安装包。- 有离线安装需求请自行制作离线软件包或考虑我们的 订阅服务
Pigsty 使用的上游软件仓库进行统一调整,地址变更,并对所有软件包进行 GPG 签名与校验
- 标准仓库:
https://repo.pigsty.io/{apt/yum} - 国内镜像:
https://repo.pigsty.cc/{apt/yum}
- 标准仓库:
API 参数变更与配置模板变更
- EL 系与 Debian 系配置模板现在收拢统一,有差异的参数统一放置于
roles/node_id/vars/目录进行管理。 - 配置目录变更,所有配置文件模板统一放置在
conf目录下,并分为default,dbms,demo,build四大类。
- EL 系与 Debian 系配置模板现在收拢统一,有差异的参数统一放置于
其他新特性
- PG OLAP 分析能力史诗级加强:DuckDB 1.0.0,DuckDB FDW,以及 PG Lakehouse,Hydra 移植至 Deb 系统中。
- PG 向量检索与全文检索能力加强:Vectorscale 提供 DiskANN 向量索引,Hunspell 分词字典支持,pg_search 0.8.6。
- 帮助 ParadeDB 解决了软件包构建问题,现在我们在 Debian/Ubuntu 上也能提供这一扩展。
- Supabase 所需的扩展在 Debian/Ubuntu 上全部可用,Supabase 现在可在全OS上自托管。
- 提供了场景化预置扩展堆栈的能力,如果您不知道安装哪些扩展,我们准备了针对特定应用场景的扩展推荐包(Stack)。
- 针对所有 PostgreSQL 生态的扩展,制作了元数据表格、文档、索引、名称映射,针对 EL与Deb 进行对齐,确保扩展可用性。
- 为了解决 DockerHub 被 Ban 的问题,我们加强了
proxy_env参数的功能并简化其配置方式。 - 建设了一个专用的新软件仓库,提供了 12-17 版本的全部扩展插件,其中,PG16的扩展仓库会在 Pigsty 默认的版本中实装。
- 现有软件仓库升级改造,使用标准的签名与校验机制,确保软件包的完整性与安全性。APT 仓库采用新的标准布局通过
reprepro构建。 - 提供了 1,2,3,4,43 节点的沙箱环境:
meta,dual,trio,full,prod,以及针对 7 大 OS Distro 的快捷配置模板。 - PG Exporter 新增了 PostgreSQL 17 与 pgBouncer 1.23 新监控指标收集器的定义,与使用这些指标的 Grafana Panel
- 监控面板修缮,修复了各种问题,为 PGSQL Pgbouncer 与 PGSQL Patroni 监控面板添加了日志仪表盘。
- 使用全新的
cache.ymlAnsible 剧本,替换了原有制作离线软件包的bin/cache与bin/release-pkg脚本。
API变更
- 新参数选项:
pg_mode现在支持的模式有pgsql,citus,gpsql,mssql,ivory,polar,用于指定 PostgreSQL 集群的模式pgsql: 标准 PostgreSQL 高可用集群citus: Citus 水平分布式 PostgreSQL 原生高可用集群gpsql: 用于 Greenplum 与 GP 兼容数据库的监控(专业版)mssql: 安装 WiltonDB / Babelfish,提供 Microsoft SQL Server 兼容性模式的标准 PostgreSQL 高可用集群,线缆协议级支持,扩展不可用ivory: 安装 IvorySQL 提供的 Oracle 兼容性 PostgreSQL 高可用集群,Oracle语法/数据类型/函数/存储过程兼容,扩展不可用 (专业版)polar: 安装 PolarDB for PostgreSQL (PG RAC)开源版本,提供国产化数据库能力支持,扩展不可用。(专业版)
- 新参数:
pg_parameters,用于在实例级别指定postgresql.auto.conf中的参数,覆盖集群配置,实现不同实例成员的个性化配置。 - 新参数:
pg_files,用于将额外的文件拷贝到PGDATA数据目录,针对需要License文件的商业版PostgreSQL分叉内核设计。 - 新参数:
repo_extra_packages,用于额外指定需要下载的软件包,与repo_packages共同使用,便于指定OS版本独有的扩展列表。 - 参数重命名:
patroni_citus_db重命名为pg_primary_db,用于指定集群中的主要数据库(在 Citus 模式中使用) - 参数强化:
proxy_env中的代理服务器配置会写入 Docker Daemon,解决科学上网问题,configure -x选项会自动在配置中写入当前环境中的代理服务器配置。 - 参数强化:
infra_portal参数现在支持指定path选项,对外暴露本机上的目录,提供web服务。 - 参数强化:
repo_url_packages中的repo.pigsty.io会在区域为中国时自动替换为repo.pigsty.cc,解决科学上网问题,此外,现在可以指定下载后的文件名称。 - 参数强化:
pg_databases.extensions中的extension字段现在可以支持字典与扩展名字符串两种模式,字典模式提供version支持,允许安装特定版本的扩展。 - 参数强化:
repo_upstream参数如果没有显式覆盖定义,将从rpm.yml或deb.yml中定义的repo_upstream_default提取对应系统的默认值。 - 参数强化:
repo_packages参数如果没有显式覆盖定义,将从rpm.yml或deb.yml中定义的repo_packages_default提取对应系统的默认值。 - 参数强化:
infra_packages参数如果没有显式覆盖定义,将从rpm.yml或deb.yml中定义的infra_packages_default提取对应系统的默认值。 - 参数强化:
node_default_packages参数如果没有显式覆盖定义,将从rpm.yml或deb.yml中定义的node_packages_default提取对应系统的默认值。 - 参数强化:
pg_packages与pg_extensions中的扩展现在都会从rpm.yml或deb.yml中定义的pg_package_map执行一次查找与翻译。 - 参数强化:
node_packages与pg_extensions参数中指定的软件包在安装时会升级至最新版本,node_packages中现在默认值变为[openssh-server],帮助修复 OpenSSH CVE - 参数强化:
pg_dbsu_uid会自动根据操作系统类型调整为26(EL)或543(Debian),避免了手工调整。 - 设置了 pgbouncer 默认参数,
max_prepared_statements = 128启用了事物池化模式下的准备语句支持,并设置server_lifetime为 600, - 修改了 patroni 模板默认参数,统一增大
max_worker_processes+8 可用后端进程,提高max_wal_senders与max_replication_slots至 50,并增大 OLAP 模板临时文件的大小限制为主磁盘的 1/5
版本升级
截止至发布时刻,Pigsty 主要组件的版本升级如下:
- PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20
- pg_exporter : 0.7.0
- Patroni: 3.3.2
- pgBouncer: 1.23.1
- pgBackRest: 2.53.1
- duckdb : 1.0.0
- etcd : 3.5.15
- pg_timetable: 5.9.0
- ferretdb: 1.23.1
- vip-manager: 2.6.0
- minio: 20240817012454
- mcli: 20240817113350
- grafana : 11.1.4
- loki : 3.1.1
- promtail : 3.0.0
- prometheus : 2.54.0
- pushgateway : 1.9.0
- alertmanager : 0.27.0
- blackbox_exporter : 0.25.0
- nginx_exporter : 1.3.0
- node_exporter : 1.8.2
- keepalived_exporter : 0.7.0
- pgbackrest_exporter 0.18.0
- mysqld_exporter : 0.15.1
- redis_exporter : v1.62.0
- kafka_exporter : 1.8.0
- mongodb_exporter : 0.40.0
- VictoriaMetrics : 1.102.1
- VictoriaLogs : v0.28.0
- sealos: 5.0.0
- vector : 0.40.0
Pigsty 重新编译了所有 PostgreSQL 扩展插件,PostgreSQL 扩展插件的最新版本,可用的 333 个扩展插件请参考 扩展列表
新应用
Pigsty 现在提供开箱即用的 Dify 与 Odoo 两款使用 PostgreSQL 软件的 Docker Compose 模板:
- Dify: AI智能体工作流编排与 LLMOps,使用 PostgreSQL 作为元数据库,PGVector 作为向量存储。
- Odoo: 企业级开源 ERP 系统,使用 PostgreSQL 作为底层数据库。
Pigsty 专业版现在提供试点的 Kubernetes 部署支持与 Kafka KRaft 集群部署与监控支持
KUBE: 使用 cri-dockerd 或 containerd 部署由 Pigsty 托管的 Kubernetes 集群KAFKA:部署由 Kraft 协议支持的高可用 Kafka 集群
问题修复
- 修复了 Ubuntu / Debian 系统中,节点重启后可能出现的 postgresql-common 服务自动启动替代默认数据库集群的缺陷
- 通过
node_packages中的默认值[openssh-server],CVE-2024-6387 可以在 Pigsty 安装过程中被自动修复。 - 修复了 Loki 解析 Nginx 日志标签基数过大导致的内存消耗问题。
- 修复了 EL8 系统中上游 Ansible 依赖变化导致的 bootstrap 失效问题(python3.11-jmespath 升级至 python3.12-jmespath)
v2.7.0
亮点特性
新增了大量强力扩展插件,特别是一些使用 rust 与 pgrx 进行开发的强力扩展:
- pg_search v0.7.0:使用 BM25 算法对 SQL 表进行全文搜索
- pg_lakehouse v0.7.0:在对象存储(如 S3)和表格式(如 DeltaLake)上进行查询的引擎
- pg_analytics v0.6.1:加速 PostgreSQL 内部的分析查询处理
- pg_graphql v1.5.4:为 PostgreSQL 数据库提供 GraphQL 支持
- pg_jsonschema v0.3.1:提供 JSON Schema 校验的 PostgreSQL 扩展
- wrappers v0.3.1:由 Supabase 提供的 PostgreSQL 外部数据封装器集合
- pgmq v1.5.2:轻量级消息队列,类似于 AWS SQS 和 RSMQ
- pg_tier v0.0.3:支将将冷数据分级存储到 AWS S3
- pg_vectorize v0.15.0: 在 PG 中实现 RAG 向量检索的封装
- pg_later v0.1.0:现在执行 SQL,并在稍后获取结果
- pg_idkit v0.2.3:生成多种流行类型的标识符(UUID)
- plprql v0.1.0:在 PostgreSQL 中使用 PRQL 查询语言
- pgsmcrypto v0.1.0:PostgreSQL 的国密 SM 算法扩展
- pg_tiktoken v0.0.1:计算 OpenAI 使用的 Token 数量
- pgdd v0.5.2:通过纯 SQL 接口,访问数据目录的元数据
当然,也有一些使用原生 C 和 C++ 开发的强力扩展:
- parquet_s3_fdw 1.1.0:从 S3 存取 Parquet 格式文件,作为湖仓之用
- plv8 3.2.2:使用 V8 引擎,允许在 PostgreSQL 中使用 Javascript 语言编写存储过程
- md5hash 1.0.1:用于存储原生MD5哈希数据类型,而非文本。
- pg_tde 1.0 alpha:PostgreSQL 的实验性加密存储引擎。
- pg_dirtyread 2.6:从 PostgreSQL 表中读取未清理的死元组,用于脏读
- 新的 deb PGDG 扩展:
pg_roaringbitmap,pgfaceting,mobilitydb,pgsql-http,pg_hint_plan,pg_statviz,pg_rrule - 新的 rpm PGDG 扩展:
pg_profile,pg_show_plans, 使用 PGDG 的pgsql_http,pgsql_gzip,pg_net,pg_bigm替代 Pigsty 维护的 RPM。
新特性
- 允许 Pigsty 在特定 Docker 虚拟机镜像中运行。
- 针对 Ubuntu 与 EL 系操作系统发行版准备了 INFRA & PGSQL 模块的 arm64 软件包
- 新安装脚本,可从 cloudflare 下载软件,可以指定版本,提供更完善的提示信息。
- 新增的 PGSQL PITR 监控面板,用于在 PITR 过程中提供更好的可观测性
- 针对在 Docker 虚拟机镜像中运行 Pigsty 进行了一系列铺垫与准备。
- 新增了 防呆设计,避免在非 Pigsty 纳管的节点上运行 pgsql.yml 剧本 (AdamYLK)
- 针对每个支持的发行版大版本配置了独立的配置文件:el7, el8, el9, debian11, debian12, ubuntu20, ubuntu22
软件版本升级
- PostgreSQL 16.3
- Patroni 3.3.0
- pgBackRest 2.51
- VIP-Manager v2.5.0
- Haproxy 2.9.7
- Grafana 10.4.2
- Prometheus 2.51
- Loki & Promtail: 3.0.0 (警告:大版本非兼容性变更!)
- Alertmanager 0.27.0
- BlackBox Exporter 0.25.0
- Node Exporter 1.8.0
- pgBackrest Exporter 0.17.0
- duckdb 0.10.2
- etcd 3.5.13
- minio-20240510014138 / mcli-20240509170424
- pev2 v1.8.0 -> v1.11.0
- pgvector 0.6.1 -> 0.7.0
- pg_tle: v1.3.4 -> v1.4.0
- hydra: v1.1.1 -> v1.1.2
- duckdb_fdw: v1.1.0 重新针对 libduckdb 0.10.2 进行编译
- pg_bm25 0.5.6 -> pg_search 0.7.0
- pg_analytics: 0.5.6 -> 0.6.1
- pg_graphql: 1.5.0 -> 1.5.4
- pg_net 0.8.0 -> 0.9.1
- pg_sparse (deprecated)
Docker应用模板
- Odoo:开源 ERP 软件与插件
- Jupyter:使用容器运行 Jupyter Notebook
- PolarDB:运行“国产数据库” PolarDB,应付信创检查!
- supabase:更新至最近的 GA 版本
- bytebase:使用
latest标签替代特定版本号。 - pg_exporter:更新了 Docker 镜像的例子。
缺陷修复
- 修复了 pg_exporters 角色中的变量空白问题。
- 修复了
minio_cluster变量没有在全局配置中注释掉的问题 - 修复了 EL7 模板中的
postgis34插件名称问题,应该使用postgis33 - 修复了 EL8
python3.11-cryptography依赖名的问题,上游现在变更为python3-cryptography。 - 修复了
/pg/bin/pg-role无法在非交互式 Shell 模式下获取操作系统用户名的问题 - 修复了
/pg/bin/pg-pitr无法正确提示-X-P选项的问题
API变更
- 新参数
node_write_etc_hosts,用于控制是否向目标节点的/etc/hosts文件写入静态 DNS 解析记录 - 新增了
prometheus_sd_dir参数,用于指定 Prometheus 静态服务发现的目标文件目录 - configure 脚本新增了
-x|--proxy参数,用于将当前环境的代理信息写入配置文件 by @waitingsong in https://github.com/Vonng/pigsty/pull/405 - 不再使用 Promtail & Loki 解析 Infra 节点上的 Nginx 日志细节标签,因为这样会导致标签基数爆炸。
- 在 Prometheus 配置中使用 alertmanager API v2 替代 v1
- 在 PGSQL 模块中,使用
/pg/cert/ca.crt代替/etc/pki/ca.crt,降低对节点根证书的依赖。
新的贡献者
- @NeroSong made their first contribution in https://github.com/Vonng/pigsty/pull/373
- @waitingsong made their first contribution in https://github.com/Vonng/pigsty/pull/405
完整的变更日志: https://github.com/Vonng/pigsty/compar
离线软件包校验和
ec271a1d34b2b1360f78bfa635986c3a pigsty-pkg-v2.7.0.el8.x86_64.tgz
f3304bfd896b7e3234d81d8ff4b83577 pigsty-pkg-v2.7.0.debian12.x86_64.tgz
5b071c2a651e8d1e68fc02e7e922f2b3 pigsty-pkg-v2.7.0.ubuntu22.x86_64.tgz
v2.6.0
亮点特性
- 现已将 PostgreSQL 16 作为默认主要版本(16.2)
- 新增 ParadeDB 扩展插件:
pg_analytics,pg_bm25, andpg_sparse - 新增 DuckDB 与
duckdb_fdw插件支持 - 全球 Cloudflare CDN https://repo.pigsty.io 与中国大陆CDN https://repo.pigsty.cc
软件配置变更
- 使用
node_repo_modules替换node_repo_method参数,并移除node_repo_local_urls参数。 - 暂时关闭 Grafana 统一告警功能,避免 “Database Locked” 错误。
- 新增
node_repo_modules参数,用于指定在节点上添加的上游仓库源。 - 移除
node_local_repo_urls,其功能由node_repo_modules&repo_upstream替代。 - 移除
node_repo_method参数,其功能由node_repo_modules替代。 - 在
repo_upstream添加新的local源,并通过node_repo_modules使用,替代node_local_repo_urls的功能 - 重排
node_default_packages,infra_packages,pg_packages,pg_extensions参数默认值。 - 在
repo_upstream中替换repo_upstream.baseurl时,如果 EL8/9 PGDG小版本特定的仓库可用,使用major.minor而不是major替换 $releasever,提高小版本兼容性。
软件版本升级
- Grafana 10.3
- Prometheus 2.47
- node_exporter 1.7.0
- HAProxy 2.9.5
- Loki / Promtail 2.9.4
- minio-20240216110548 / mcli-20240217011557
- etcd 3.5.11
- Redis 7.2.4
- Bytebase 2.13.2
- DuckDB 0.10.0
- FerretDB 1.19
- Metabase:新Docker应用模板
PostgreSQL扩展插件
- PostgreSQL 小版本升级: 16.2, 15.6, 14.11, 13.14, 12.18
- PostgreSQL 16: 现在被提升为默认主版本
- pg_exporter 0.6.1:安全修复
- Patroni 3.2.2
- pgBadger 12.4
- pgBackRest 2.50
- vip-manager 2.3.0
- PostGIS 3.4.2
- TimescaleDB 2.14.1
- 向量扩展 PGVector 0.6.0:新增并行创建 HNSW 索引功能
- 新增扩展插件 duckdb_fdw v1.1 ,支持读写 DuckDB 数据 v1.1
- 新增扩展插件 pgsql-gzip ,用于支持 Gzip 压缩解压缩 v1.0.0
- 新增扩展插件 pg_sparse,高效处理稀疏向量(ParadeDB) v0.5.6
- 新增扩展插件 pg_bm25,用于支持高质量全文检索 BM25 算法的插件(ParadeDB) v0.5.6
- 新增扩展插件 pg_analytics,支持 SIMD 与列式存储的PG分析插件(ParadeDB) v0.5.6
- 升级AIML插件 pgml 至 v2.8.1,新增 PG 16 支持。
- 升级列式存储插件 hydra 版本至 v1.1.1,新增 PG 16 支持。
- 升级图扩展插件 age 至 v1.5.0,新增 PG 16 支持。
- 升级GraphQL插件 pg_graphql 版本至 v1.5.0 ,支持 Supabase。
330e9bc16a2f65d57264965bf98174ff pigsty-v2.6.0.tgz
81abcd0ced798e1198740ab13317c29a pigsty-pkg-v2.6.0.debian11.x86_64.tgz
7304f4458c9abd3a14245eaf72f4eeb4 pigsty-pkg-v2.6.0.debian12.x86_64.tgz
f914fbb12f90dffc4e29f183753736bb pigsty-pkg-v2.6.0.el7.x86_64.tgz
fc23d122d0743d1c1cb871ca686449c0 pigsty-pkg-v2.6.0.el8.x86_64.tgz
9d258dbcecefd232f3a18bcce512b75e pigsty-pkg-v2.6.0.el9.x86_64.tgz
901ee668621682f99799de8932fb716c pigsty-pkg-v2.6.0.ubuntu20.x86_64.tgz
39872cf774c1fe22697c428be2fc2c22 pigsty-pkg-v2.6.0.ubuntu22.x86_64.tgz
v2.5.1
跟进 PostgreSQL v16.1, v15.5, 14.10, 13.13, 12.17, 11.22 小版本例行更新。
现在 PostgreSQL 16 的所有重要扩展已经就位(新增 pg_repack 与 timescaledb 支持)
- 软件更新:
- PostgreSQL to v16.1, v15.5, 14.10, 13.13, 12.17, 11.22
- Patroni v3.2.0
- PgBackrest v2.49
- Citus 12.1
- TimescaleDB 2.13
- Grafana v10.2.0
- FerretDB 1.15
- SealOS 4.3.7
- Bytebase 2.11.1
- 移除 PGCAT 监控面板中查询对
monitor模式前缀(允许用户将pg_stat_statements扩展装到别的地方) - 新的配置模板
wool.yml,为阿里云免费99 ECS 单机针对设计。 - 为 EL9 新增
python3-jmespath软件包,解决 Ansible 依赖更新后 bootstrap 缺少 jmespath 的问题
31ee48df1007151009c060e0edbd74de pigsty-pkg-v2.5.1.el7.x86_64.tgz
a40f1b864ae8a19d9431bcd8e74fa116 pigsty-pkg-v2.5.1.el8.x86_64.tgz
c976cd4431fc70367124fda4e2eac0a7 pigsty-pkg-v2.5.1.el9.x86_64.tgz
7fc1b5bdd3afa267a5fc1d7cb1f3c9a7 pigsty-pkg-v2.5.1.debian11.x86_64.tgz
add0731dc7ed37f134d3cb5b6646624e pigsty-pkg-v2.5.1.debian12.x86_64.tgz
99048d09fa75ccb8db8e22e2a3b41f28 pigsty-pkg-v2.5.1.ubuntu20.x86_64.tgz
431668425f8ce19388d38e5bfa3a948c pigsty-pkg-v2.5.1.ubuntu22.x86_64.tgz
v2.5.0
curl https://get.pigsty.cc/latest | bash
亮点特性
使用CDN
repo.pigsty.cc软件源,提供 rpm/deb 软件包下载。Anolis 操作系统支持( 兼容 EL 8.8 )。
使用 PostgreSQL 16 替代 PostgreSQL 14 作为备选主要支持版本
新增了 PGSQL Exporter / PGSQL Patroni 监控面板,重做 PGSQL Query 面板
扩展更新:
- PostGIS 版本至 3.4( EL8/EL9 ),EL7 仍使用 PostGIS 3.3
- 移除
pg_embedding,因为开发者不再对其进行维护,建议使用pgvector替换。 - 新扩展(EL):点云插件
pointcloud支持,Ubuntu原生带有此扩展。 - 新扩展(EL):
imgsmlr,pg_similarity,pg_bigm用于搜索。 - 重新编译
pg_filedump为 PG 大版本无关的软件包。。 - 新收纳
hydra列存储扩展,不再默认安装citus扩展。
软件更新:
- Grafana 更新至 v10.1.5
- Prometheus 更新至 v2.47
- Promtail/Loki 更新至 v2.9.1
- Node Exporter 更新至 v1.6.1
- Bytebase 更新至 v2.10.0
- patroni 更新至 v3.1.2
- pgbouncer 更新至 v1.21.0
- pg_exporter 更新至 v0.6.0
- pgbackrest 更新至 v2.48.0
- pgbadger 更新至 v12.2
- pg_graphql 更新至 v1.4.0
- pg_net 更新至 v0.7.3
- ferretdb 更新至 v0.12.1
- sealos 更新至 4.3.5
- Supabase 支持更新至
20231013070755
Ubuntu 支持说明
Pigsty 支持了 Ubuntu 22.04 (jammy) 与 20.04 (focal) 两个 LTS 版本,并提供相应的离线软件安装包。
相比 EL 系操作系统,一些参数的默认值需要显式指定调整,详情请参考 ubuntu.yml
repo_upstream:按照 Ubuntu/Debian 的包名进行了调整repo_packages:按照 Ubuntu/Debian 的包名进行了调整node_repo_local_urls:默认值为['deb [trusted=yes] http://${admin_ip}/pigsty ./']node_default_packages:zlib->zlib1g,readline->libreadline-devvim-minimal->vim-tiny,bind-utils->dnsutils,perf->linux-tools-generic,- 新增软件包
acl,确保 Ansible 权限设置正常工作
infra_packages:所有含_的包要替换为-版本,此外postgresql-client-16用于替换postgresql16pg_packages:Ubuntu 下惯用-替代_,不需要手工安装patroni-etcd包。pg_extensions:扩展名称与EL系不太一样,Ubuntu下缺少passwordcheck_cracklib扩展。pg_dbsu_uid: Ubuntu 下 Deb 包不显式指定uid,需要手动指定,Pigsty 默认分配为543
API变更
默认值变化:
repo_modules现在的默认值为infra,node,pgsql,redis,minio,启用所有上游源repo_upstream发生变化,现在添加了 Pigsty Infra/MinIO/Redis/PGSQL 模块化软件源repo_packages发生变化,移除未使用的karma,mtail,dellhw_exporter,移除了 PG14 主要扩展,新增了 PG16 主要扩展,添加了 virtualenv 包。node_default_packages发生变化,默认安装python3-pip组件。pg_libs:timescaledb从 shared_preload_libraries 中移除,现在默认不自动启用。pg_extensions发生变化,不再默认安装 Citus 扩展,默认安装passwordcheck_cracklib扩展,EL8,9 PostGIS 默认版本升级至 3.4- pg_repack_${pg_version}* wal2json_${pg_version}* passwordcheck_cracklib_${pg_version}* - postgis34_${pg_version}* timescaledb-2-postgresql-${pg_version}* pgvector_${pg_version}*Patroni 所有模板默认移除
wal_keep_size参数,避免触发 Patroni 3.1.1 的错误,其功能由min_wal_size覆盖。
87e0be2edc35b18709d7722976e305b0 pigsty-pkg-v2.5.0.el7.x86_64.tgz
e71304d6f53ea6c0f8e2231f238e8204 pigsty-pkg-v2.5.0.el8.x86_64.tgz
39728496c134e4352436d69b02226ee8 pigsty-pkg-v2.5.0.el9.x86_64.tgz
e3f548a6c7961af6107ffeee3eabc9a7 pigsty-pkg-v2.5.0.debian11.x86_64.tgz
1e469cc86a19702e48d7c1a37e2f14f9 pigsty-pkg-v2.5.0.debian12.x86_64.tgz
cc3af3b7c12f98969d3c6962f7c4bd8f pigsty-pkg-v2.5.0.ubuntu20.x86_64.tgz
c5b2b1a4867eee624e57aed58ac65a80 pigsty-pkg-v2.5.0.ubuntu22.x86_64.tgz
v2.4.1
- Supabase 支持:开源的 Firebase 替代,现可使用 Pigsty 本地托管的 PostgreSQL 实例作为数据存储。
- PostgresML支持:使用SQL完成经典机器学习算法,训练、微调、调用大语言模型(hugging face)。
- FerretDB v1.10 支持,在 PostgreSQL 上提供 MongoDB API与协议兼容能力。
- GraphQL扩展:
pg_graphql:从现有模式中反射出 GraphQL 模式,提供库内 GraphQL 查询能力。 - JWT支持扩展:
pgjwt允许您使用 SQL 验证签发 JWT (JSON Web Tokens)。 - 密钥存储扩展:
vault可以在提供一个安全存储加密密钥的保险柜。 - 数据恢复扩展:
pg_filedump:可用于快速从PostgreSQL二进制文件中恢复数据 - 图数据库扩展:Apache
age,为 PostgreSQL 添加 OpenCypher 查询支持,类似 Neo4J - 中文分词扩展:
zhparser,为中文全文检索提供分词能力,类似 ElasticSearch。 - 高效位图扩展:
pg_roaringbitmap,在 PostgreSQL 中提供 roaring bitmap 的支持,高效计数聚合统计。 - 向量嵌入替代:
pg_embedding,提供了不同于 pgvector 的另一种 HNSW 替代实现。 - 可信语言扩展:
pg_tle,由 AWS 出品的,允许您打包分发管理由可信存储过程语言编写的函数。 - HTTP客户端扩展:
pgsql-http:使用 SQL 接口,curl API,发起 HTTP 请求,与各类系统交互。 - 异步HTTP扩展:
pg_net允许您使用 SQL 发起非阻塞的 HTTP/HTTPS 请求。 - 列式存储引擎:
hydra针对分析场景打造的向量化列存储引擎,原地替代 Citus 列存插件。 - 其他PGDG扩展:新收录8个由PGDG维护的扩展插件,Pigsty支持的插件总数达到 150+ 。
- PostgreSQL 16 内核支持,监控云端 RDS / PolarDB for PostgreSQL。
亮点特性
- Supabase 支持:开源的 Firebase 替代,现可使用 Pigsty 托管的 PostgreSQL 实例存储数据。
- PostgresML支持:在 PostgreSQL 运行各类模型(hugging face),向量操作,经典机器学习算法。
- GraphQL支持扩展:
pg_graphql:从现有模式中反射出 GraphQL 模式,提供库内 GraphQL 查询能力。 - 异步HTTP客户端扩展:
pg_net允许您使用 SQL 发起非阻塞的 HTTP/HTTPS 请求 - JWT支持扩展:
pgjwt允许您使用 SQL 验证签发 JWT (JSON Web Tokens) - 密钥存储扩展:
vault可以在保险柜里存储加密密钥 - 将FerretDB 版本升级至 v1.10
- 新增组件:
pg_filedump:可用于快速从PostgreSQL二进制文件中恢复数据 - 减少 EL9 离线软件包的大小,移除非必须依赖项
proj-data* - 修复了 Patroni 3.1.1 的错误
efabe7632d8994f3fb58f9838b8f9d7d pigsty-pkg-v2.5.0.el7.x86_64.tgz # 1.1G
ea78957e8c8434b120d1c8c43d769b56 pigsty-pkg-v2.5.0.el8.x86_64.tgz # 1.4G
4ef280a7d28872814e34521978b851bb pigsty-pkg-v2.5.0.el9.x86_64.tgz # 1.3G
v2.4.0
使用 bash -c "$(curl -fsSL https://get.pigsty.cc/latest)" 快速上手。
最新特性
- PostgreSQL 16 正式发布,Pigsty提供支持。
- 可以监控云数据库,RDS for PostgreSQL,以及 PolarDB,提供全新的 PGRDS 监控面板
- 正式提供商业支持与咨询服务。并发布首个 LTS 版本,为订阅客户提供最长5年的支持。
- 新扩展插件: Apache AGE, openCypher graph query engine on PostgreSQL
- 新扩展插件: zhparser, full text search for Chinese language
- 新扩展插件: pg_roaringbitmap, roaring bitmap for PostgreSQL
- 新扩展插件: pg_embedding, hnsw alternative to pgvector
- 新扩展插件: pg_tle, admin / manage stored procedure extensions
- 新扩展插件: pgsql-http, issue http request with SQL interface
- 新增插件: pg_auth_mon pg_checksums pg_failover_slots pg_readonly postgresql-unit pg_store_plans pg_uuidv7 set_user
- Redis改进:支持 Redis 哨兵监控,配置主从集群的自动高可用。
API变化
- 新增参数,
REDIS.redis_sentinel_monitor,用于指定 Sentinel 集群监控的主库列表
问题修复
- 修复 Grafana 10.1 注册数据源时缺少
uid的问题
MD5 (pigsty-pkg-v2.4.0.el7.x86_64.tgz) = 257443e3c171439914cbfad8e9f72b17
MD5 (pigsty-pkg-v2.4.0.el8.x86_64.tgz) = 41ad8007ffbfe7d5e8ba5c4b51ff2adc
MD5 (pigsty-pkg-v2.4.0.el9.x86_64.tgz) = 9a950aed77a6df90b0265a6fa6029250
v2.3.1
使用 bash -c "$(curl -fsSL https://get.pigsty.cc/latest)" 快速开始。
最新特性
pgvector更新至 0.5,添加 hnsw 算法支持。- 支持 PostgreSQL 16 RC1 (el8/el9)
- 默认包中添加了 SealOS 用于快速部署Kubernetes集群。
问题修复
- 修复了
infra.repo.repo_pkg任务:当repo_packages中包名包含*时,下载可能会受到/www/pigsty现有内容的影响。 - 将
vip_dns_suffix的默认值由.vip调整为空字符串,即集群本身的名称将默认作为节点集群的 L2 VIP modprobe watchdogandchown watchdogifpatroni_watchdog_modeisrequired- 当
pg_dbsu_sudo=limitandpatroni_watchdog_mode=required时,授予数据库 dbsu 以下命令的 sudo 执行权限/usr/bin/sudo /sbin/modprobe softdog:在启动 Patroni 服务时确保 softdog 内核模块启用/usr/bin/sudo /bin/chown {{ pg_dbsu }} /dev/watchdog: 在启动 Patroni 服务时,确保 watchdog 属主正确
文档更新
- 向英文文档中添加了更新内容。
- 添加了简体中文版本的内置文档,修复了 pigsty.cc 文档站的中文文档。
软件更新
- PostgreSQL 16 RC1 for EL8/EL9
- PGVector 0.5.0,支持 hnsw 索引
- TimescaleDB 2.11.2
- grafana 10.1.0
- loki & promtail 2.8.4
- redis-stack 7.2 on el7/8
- mcli-20230829225506 / minio-20230829230735
- ferretdb 1.9
- sealos 4.3.3
- pgbadger 1.12.2
ce69791eb622fa87c543096cdf11f970 pigsty-pkg-v2.3.1.el7.x86_64.tgz
495aba9d6d18ce1ebed6271e6c96b63a pigsty-pkg-v2.3.1.el8.x86_64.tgz
38b45582cbc337ff363144980d0d7b64 pigsty-pkg-v2.3.1.el9.x86_64.tgz
v2.3.0
相关文章:《Pigsty v2.3 发布:应用生态丰富》
发布注记:https://github.com/Vonng/pigsty/releases/tag/v2.3.0
使用 bash -c "$(curl -fsSL https://get.pigsty.cc/latest)" 快速开始。
亮点特性
- INFRA: 添加了对 NODE/PGSQL VIP 的监控支持
- PGSQL: 通过小版本升级修复了 PostgreSQL CVE-2023-39417: 15.4, 14.9, 13.12, 12.16,以及 Patroni v3.1.0
- NODE: 允许用户使用
keepalived为一个节点集群绑定 L2 VIP - REPO: Pigsty 专用 yum 源优化精简,全站默认使用 HTTPS:
get.pigsty.cc与demo.pigsty.cc - APP: 升级
app/bytebase版本至 v2.6.0,app/ferretdb版本至 v1.8;添加新的应用模板:nocodb,开源的 Airtable。 - REDIS: 升级版本至 v7.2,并重制了 Redis 监控面板。
- MONGO: 添加基于 FerretDB 1.8 实现的基本支持。
- MYSQL: 添加了 Prometheus / Grafana / CA 中的代码存根,便于后续纳管。
API变化
新增一个新的参数组 NODE.NODE_VIP:包含 8 个新参数
NODE.VIP.vip_enabled:在此节点集群上启用 vip 吗?NODE.VIP.vip_address:ipv4 格式的节点 vip 地址,如果启用了 vip,则必需NODE.VIP.vip_vrid:必需,整数,1-255 在相同 VLAN 中应该是唯一的NODE.VIP.vip_role:master/backup,默认为备份,用作初始角色NODE.VIP.vip_preempt:可选,true/false,默认为 false,启用 vip 抢占NODE.VIP.vip_interface:节点 vip 网络接口监听,eth0 默认NODE.VIP.vip_dns_suffix:节点 vip dns 名称后缀,默认为空字符串NODE.VIP.vip_exporter_port:keepalived 导出器监听端口,默认为 9650
MD5 (pigsty-pkg-v2.3.0.el7.x86_64.tgz) = 81db95f1c591008725175d280ad23615
MD5 (pigsty-pkg-v2.3.0.el8.x86_64.tgz) = 6f4d169b36f6ec4aa33bfd5901c9abbe
MD5 (pigsty-pkg-v2.3.0.el9.x86_64.tgz) = 4bc9ae920e7de6dd8988ca7ee681459d
v2.2.0
相关文章:《Pigsty v2.2 发布 —— 监控系统大升级》
发布注记:https://github.com/Vonng/pigsty/releases/tag/v2.2.0
快速开始: bash -c "$(curl -fsSL https://get.pigsty.cc/latest)"
亮点特性
- 监控面板重做: https://demo.pigsty.cc
- Vagrant沙箱重做: 支持 libvirt 与新的配置模板
- Pigsty EL Yum 仓库: 统一收纳零碎 RPM,简化安装构建流程。
- 操作系统兼容性: 新增信创操作系统 UOS-v20-1050e 支持
- 新的配置模板:42 节点的生产仿真配置
- 统一使用官方 PGDG citus 软件包(el7)
软件升级
- PostgreSQL 16 beta2
- Citus 12 / PostGIS 3.3.3 / TimescaleDB 2.11.1 / PGVector 0.44
- patroni 3.0.4 / pgbackrest 2.47 / pgbouncer 1.20
- grafana 10.0.3 / loki/promtail/logcli 2.8.3
- etcd 3.5.9 / haproxy v2.8.1 / redis v7.0.12
- minio 20230711212934 / mcli 20230711233044
Bug修复
- 修复了 Docker 组权限的问题 29434bd
- 将
infra操作系统用户组作为额外的组,而不是首要用户组。 - 修复了 Redis Sentinel Systemd 服务的自动启用状态 5c96feb
- 放宽了
bootstrap&configure的检查,特别是当/etc/redhat-release不存在的时候。 - 升级到 Grafana 10,修复了 Grafana 9.x CVE-2023-1410
- 在 CMDB
pglog模式中添加了 PG 14 - 16 的 command tags 与 错误代码。
API变化
新增1个变量
INFRA.NGINX.nginx_exporter_enabled: 现在用户可以通过设置这个参数来禁用 nginx_exporter 。
默认值变化:
repo_modules:node,pgsql,infra: redis 现在由 pigsty-el 仓库提供,不再需要redis模块。repo_upstream:- 新增
pigsty-el: 与具体EL版本无关的RPM: 例如 grafana, minio, pg_exporter, 等等…… - 新增
pigsty-misc: 与具体EL版本有关的RPM: 例如 redis, prometheus 全家桶,等等…… - 移除
citus: 现在 PGDG 中有完整的 EL7 - EL9 citus 12 支持 - 移除
remi: redis 现在由 pigsty-el 仓库提供,不再需要redis模块。
- 新增
repo_packages:- ansible python3 python3-pip python3-requests python3-jmespath python3.11-jmespath dnf-utils modulemd-tools # el7: python36-requests python36-idna yum-utils
- grafana loki logcli promtail prometheus2 alertmanager karma pushgateway node_exporter blackbox_exporter nginx_exporter redis_exporter
- redis etcd minio mcli haproxy vip-manager pg_exporter nginx createrepo_c sshpass chrony dnsmasq docker-ce docker-compose-plugin flamegraph
- lz4 unzip bzip2 zlib yum pv jq git ncdu make patch bash lsof wget uuid tuned perf nvme-cli numactl grubby sysstat iotop htop rsync tcpdump
- netcat socat ftp lrzsz net-tools ipvsadm bind-utils telnet audit ca-certificates openssl openssh-clients readline vim-minimal
- postgresql13* wal2json_13* pg_repack_13* passwordcheck_cracklib_13* postgresql12* wal2json_12* pg_repack_12* passwordcheck_cracklib_12* timescaledb-tools
- postgresql15 postgresql15* citus_15* pglogical_15* wal2json_15* pg_repack_15* pgvector_15* timescaledb-2-postgresql-15* postgis33_15* passwordcheck_cracklib_15* pg_cron_15*
- postgresql14 postgresql14* citus_14* pglogical_14* wal2json_14* pg_repack_14* pgvector_14* timescaledb-2-postgresql-14* postgis33_14* passwordcheck_cracklib_14* pg_cron_14*
- postgresql16* wal2json_16* pgvector_16* pg_squeeze_16* postgis34_16* passwordcheck_cracklib_16* pg_cron_16*
- patroni patroni-etcd pgbouncer pgbadger pgbackrest pgloader pg_activity pg_partman_15 pg_permissions_15 pgaudit17_15 pgexportdoc_15 pgimportdoc_15 pg_statement_rollback_15*
- orafce_15* mysqlcompat_15 mongo_fdw_15* tds_fdw_15* mysql_fdw_15 hdfs_fdw_15 sqlite_fdw_15 pgbouncer_fdw_15 multicorn2_15* powa_15* pg_stat_kcache_15* pg_stat_monitor_15* pg_qualstats_15 pg_track_settings_15 pg_wait_sampling_15 system_stats_15
- plprofiler_15* plproxy_15 plsh_15* pldebugger_15 plpgsql_check_15* pgtt_15 pgq_15* pgsql_tweaks_15 count_distinct_15 hypopg_15 timestamp9_15* semver_15* prefix_15* rum_15 geoip_15 periods_15 ip4r_15 tdigest_15 hll_15 pgmp_15 extra_window_functions_15 topn_15
- pg_background_15 e-maj_15 pg_catcheck_15 pg_prioritize_15 pgcopydb_15 pg_filedump_15 pgcryptokey_15 logerrors_15 pg_top_15 pg_comparator_15 pg_ivm_15* pgsodium_15* pgfincore_15* ddlx_15 credcheck_15 safeupdate_15 pg_squeeze_15* pg_fkpart_15 pg_jobmon_15
repo_url_packages:node_default_packages:- lz4,unzip,bzip2,zlib,yum,pv,jq,git,ncdu,make,patch,bash,lsof,wget,uuid,tuned,nvme-cli,numactl,grubby,sysstat,iotop,htop,rsync,tcpdump
- netcat,socat,ftp,lrzsz,net-tools,ipvsadm,bind-utils,telnet,audit,ca-certificates,openssl,readline,vim-minimal,node_exporter,etcd,haproxy,python3,python3-pip
infra_packages- grafana,loki,logcli,promtail,prometheus2,alertmanager,karma,pushgateway
- node_exporter,blackbox_exporter,nginx_exporter,redis_exporter,pg_exporter
- nginx,dnsmasq,ansible,postgresql15,redis,mcli,python3-requests
PGSERVICEin.pigsty被移除了,取而代之的是PGDATABASE=postgres,这用户只需 IP 地址就可以从管理节点访问特定实例。
目录结构变化:
bin/dnsandbin/ssh现在被移动到vagrant/目录中。
MD5 (pigsty-pkg-v2.2.0.el7.x86_64.tgz) = 5fb6a449a234e36c0d895a35c76add3c
MD5 (pigsty-pkg-v2.2.0.el8.x86_64.tgz) = c7211730998d3b32671234e91f529fd0
MD5 (pigsty-pkg-v2.2.0.el9.x86_64.tgz) = 385432fe86ee0f8cbccbbc9454472fdd
v2.1.0
相关文章:Pigsty v2.1 发布:向量扩展 / PG12-16 支持
发布注记:https://github.com/Vonng/pigsty/releases/tag/v2.1.0
Highlight
- PostgreSQL 16 beta 支持, 以及 12 ~ 15 的支持.
- 为 PG 12 - 15 新增了 PGVector 扩展支持,用于存储 AI 嵌入。
- 为 Grafana 添加了额外6个默认的扩展面板/数据源插件。
- 添加
bin/profile脚本用于执行远程 Profiling ,生成火焰图。 - 添加
bin/validate用于校验pigsty.yml配置文件合法性。 - 添加
bin/repo-add用于快速向节点添加软件源定义。 - PostgreSQL 16 可观测性:添加了
pg_stat_io支持与相关监控面板
软件升级
- PostgreSQL 15.3 , 14.8, 13.11, 12.15, 11.20, and 16 beta1
- pgBackRest 2.46 / pgbouncer 1.19
- Redis 7.0.11
- Grafana v9.5.3
- Loki / Promtail / Logcli 2.8.2
- Prometheus 2.44
- TimescaleDB 2.11.0
- minio-20230518000536 / mcli-20230518165900
- Bytebase v2.2.0
改进增强
- 当添加本地用户的公钥时,所有的
id*.pub都会被添加到远程机器上(例如椭圆曲线算法生成的密钥文件)
v2.0.2
https://github.com/Vonng/pigsty/releases/tag/v2.0.2
亮点
使用开箱即用的 pgvector 存储 AI Embedding、索引、检索向量。
- 新扩展
pgvector - MinIO CVE-2023-28432 问题修复
变更
- 新扩展插件
pgvector用于存储 AI 嵌入,并执行向量相似度搜索。 - 修复 MinIO CVE-2023-28432 ,使用 20230324 新提供的 policy API.
- 为 DNSMASQ systemd 服务添加动态重载命令
- 更新 PEV 版本至 v1.8
- 更新 grafana 版本至 v9.4.7
- 更新 MinIO 与 MCLI 版本至 20230324
- 更新 bytebase 版本至 v1.15.0
- 更新监控面板并修复死链接
- 更新了阿里云 Terraform 模板,默认使用 RockyLinux 9
- 使用 Grafana v9.4 的 Provisioning API
- 为众多管理任务添加了 asciinema 视频
- 修复了 EL8 PostgreSQL 的破损依赖:移除 anonymizer_15 faker_15 pgloader
MD5 (pigsty-pkg-v2.0.2.el7.x86_64.tgz) = d46440a115d741386d29d6de646acfe2
MD5 (pigsty-pkg-v2.0.2.el8.x86_64.tgz) = 5fa268b5545ac96b40c444210157e1e1
MD5 (pigsty-pkg-v2.0.2.el9.x86_64.tgz) = c8b113d57c769ee86a22579fc98e8345
v2.0.1
https://github.com/Vonng/pigsty/releases/tag/v2.0.1
安全性改进,与对 v2.0.0 的 BUG 修复。
改进
- 更换猪头 logo 以符合 PostgreSQL 商标政策。
- 将 grafana 版本升级至 v9.4,界面更佳且修复了 bug。
- 将 patroni 版本升级至 v3.0.1,其中包含了一些 bug 修复。
- 修改:将 grafana systemd 服务文件回滚到 rpm 默认的版本。
- 使用缓慢的
copy代替rsync来复制 grafana 仪表板,更加可靠。 - 增强:bootstrap 执行后会添加回默认 repo 文件。
- 添加 asciinema 视频,用于各种管理任务。
- 安全增强模式:限制监控用户权限。
- 新的配置模板:
dual.yml,用于双节点部署。 - 在
crit.yml模板中启用log_connections和log_disconnections。 - 在
crit.yml模板中的pg_libs中启用$lib/passwordcheck。 - 明确授予
pg_monitor角色监视视图权限。 - 从
dbuser_monitor中移除默认的dbrole_readonly以限制监控用户的权限 - 现在 patroni 监听在
{{ inventory_hostname }}而不是0.0.0.0 - 现在你可以使用
pg_listen控制 postgres/pgbouncer 监听的地址 - 现在你可以在
pg_listen中使用${ip},${lo},${vip}占位符 - 将 Aliyun terraform 镜像从 centos 7.9 提升到 rocky Linux 9
- 将 bytebase 版本升级到 v1.14.0
BUG修复
- 为 alertmanager 添加缺失的 advertise 地址。
- 解决使用
bin/pgsql-user创建数据库用户时,pg_mode变量缺失问题。 - 在
redis.yml中为 Redis 集群加入任务添加-a password选项。 - 在
infra-rm.yml.remove infra data任务中补充缺失的默认值。 - 修复 prometheus 监控对象定义文件的属主为
prometheus用户。 - 使用 管理员用户 而不是 root 去删除 DCS 中的元数据。
- 修复了由 grafana 9.4 bug 导致的问题:Meta数据源缺失。
注意事项
EL8 pgdg 上游官方源处于依赖破损状态,请小心使用。涉及到的软件包: postgis33_15, pgloader, postgresql_anonymizer_15*, postgresql_faker_15
如何升级?
cd ~/pigsty; tar -zcf /tmp/files.tgz files; rm -rf ~/pigsty # backup files dir and remove
cd ~; bash -c "$(curl -fsSL https://get.pigsty.cc/latest)" # get latest pigsty source
cd ~/pigsty; rm -rf files; tar -xf /tmp/files.tgz -C ~/pigsty # restore files dir
Checksums
MD5 (pigsty-pkg-v2.0.1.el7.x86_64.tgz) = 5cfbe98fd9706b9e0f15c1065971b3f6
MD5 (pigsty-pkg-v2.0.1.el8.x86_64.tgz) = c34aa460925ae7548866bf51b8b8759c
MD5 (pigsty-pkg-v2.0.1.el9.x86_64.tgz) = 055057cebd93c473a67fb63bcde22d33
特别感谢 @cocoonkid 提供的反馈。
v2.0.0
相关文章:
Pigsty v2.0.0 正式发布!
从v2.0.0开始,PIGSTY 现在是 “PostgreSQL In Great STYle"的首字母缩写,即"全盛状态的PostgreSQL”。
curl -fsSL https://get.pigsty.cc/latest | bash
Download directly from GitHub Release
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Vonng/pigsty/master/bin/get)"
# or download tarball directly with curl (EL9)
curl -L https://github.com/Vonng/pigsty/releases/download/v2.0.0/pigsty-v2.0.0.tgz -o ~/pigsty.tgz
curl -L https://github.com/Vonng/pigsty/releases/download/v2.0.0/pigsty-pkg-v2.0.0.el9.x86_64.tgz -o /tmp/pkg.tgz
# EL7: https://github.com/Vonng/pigsty/releases/download/v2.0.0/pigsty-pkg-v2.0.0.el7.x86_64.tgz
# EL8: https://github.com/Vonng/pigsty/releases/download/v2.0.0/pigsty-pkg-v2.0.0.el8.x86_64.tgz
亮点
- 完美整合 PostgreSQL 15, PostGIS 3.3, Citus 11.2, TimescaleDB 2.10,分布式地理时序超融合数据库。
- OS兼容性大幅增强:支持 EL7,8,9,以及 RHEL, CentOS, Rocky, OracleLinux, AlmaLinux等兼容发行版。
- 安全性改进:自签名CA,全局网络流量SSL加密,密码scram-sha-256认证,备份采用AES加密,重制的HBA规则系统。
- Patroni升级至3.0,提供原生的高可用 Citus 分布式集群支持,默认启用FailSafe模式,无惧DCS故障致全局主库瘫痪。
- 提供基于 pgBackRest 的开箱即用的时间点恢复 PITR 支持,默认支持本地文件系统与专用MinIO/S3集群备份。
- 新模块
ETCD,可独立部署,简易扩缩容,自带监控高可用,彻底取代 Consul 作为高可用 PG 的 DCS。 - 新模块
MINIO,可独立部署,支持多盘多节点部署,用作S3本地替代,亦用于集中式 PostgreSQL 备份仓库。 - 大幅精简配置文件参数,无需默认值即可使用;模板自动根据机器规格调整主机与PG参数,HBA/服务的定义更简洁泛用。
- 受 Grafana 与 MinIO 影响,软件协议由 Apache License 2.0 变更为 AGPL 3.0
兼容性
- 支持 EL7, EL8, EL9 三个大版本,并提供三个版本对应的离线软件包,默认开发测试环境由EL7升级至EL9。
- 支持更多EL兼容Linux发行版:RHEL, CentOS, RockyLinux, AlmaLinux, OracleLinux等…
- 源码包与离线软件包的命名规则发生改变,现在版本号,操作系统版本号,架构都会体现在包名中。
PGSQL: PostgreSQL 15.2, PostGIS 3.3, Citus 11.2, TimescaleDB 2.10 现可同时使用,协同工作。PGSQL: Patroni 升级至 3.0 版本,作为 PGSQL 的高可用组件。- 默认使用 ETCD 作为 DCS,取代 Consul,减少一个 Consul Agent 失效点。
- 因为 vip-manager 升级至 2.1 并使用 ETCDv3 API,彻底弃用 ETCDv2 API,Patroni同理
- 提供原生的高可用 Citus 分布式集群支持。使用完全开源所有功能的 Citus 11.2。
- 默认启用FailSafe模式,无惧DCS故障致全局主库瘫痪。
PGSQL: 引入 pgBackrest v2.44 提供开箱即用的 PostgreSQL 时间点恢复 PITR 功能- 默认使用主库上的备份目录创建备份仓库,滚动保留两天的恢复窗口。
- 默认备选备份仓库为专用 MinIO/S3 集群,滚动保留两周的恢复窗口,本地使用需要启用 MinIO 模块。
ETCD现在作为一个独立部署的模块,带有完整的扩容/缩容方案与监控。MINIO现在成为一个独立部署的模块,支持多盘多节点部署,用作S3本地替代,亦可用作集中式备份仓库。NODE模块现在包含haproxy,docker,node_exporter,promtail功能组件chronyd现在取代ntpd成为所有节点默认的 NTP 服务。- HAPROXY 现从属于
NODE的一部分,而不再是PGSQL专属,可以 NodePort 的方式对外暴露服务。 - 现在
PGSQL模块可以使用专用的集中式 HAPROXY 集群统一对外提供服务。
INFRA模块现在包含dnsmasq,nginx,prometheus,grafana,loki等组件- Infra 模块中的 DNSMASQ 服务器默认启用,并添加为所有节点的默认 DNS 服务器之一。
- 添加了
blackbox_exporter用于主机 PING 探测,pushgateway用于批处理任务指标。 loki与promtail现在使用 Grafana 默认的软件包,使用官方的 Grafana Echarts 面板插件- 提供针对 PostgreSQL 15 的新增可观测性位点的监控支持,添加 Patroni 监控
- 软件版本升级
- PostgreSQL 15.2 / PostGIS 3.3 / TimescaleDB 2.10 / Citus 11.2
- Patroni 3.0 / Pgbouncer 1.18 / pgBackRest 2.44 / vip-manager 2.1
- HAProxy 2.7 / Etcd 3.5 / MinIO 20230131022419 / mcli 20230128202938
- Prometheus 2.42 / Grafana 9.3 / Loki & Promtail 2.7 / Node Exporter 1.5
安全性
- 启用了一个完整的本地自签名CA:
pigsty-ca,用于签发内网组件所使用的证书。 - 创建用户/修改密码的操作将不再会在日志文件中留下痕迹。
- Nginx 默认启用 SSL 支持(如需HTTPS,您需要在系统中信任
pigsty-ca,或使用Chromethisisunsafe) - ETCD 全面启用 SSL 加密客户端与服务端对等通信
- PostgreSQL 添加并默认启用了 SSL 支持,管理链接默认都使用SSL访问。
- Pgbouncer 添加了 SSL 支持,出于性能考虑默认不启用。
- Patroni 添加了 SSL 支持,并默认限制了管理 API 只能从本机与管理节点使用密码认证方可访问。
- PostgreSQL 的默认密码认证方式由
md5改为scram-sha-256。 - Pgbouncer添加了认证查询支持,可以动态管理连接池用户。
- pgBackRest 使用远端集中备份存储仓库时,默认使用
AES-256-CBC加密备份数据。 - 提供高安全等级配置模板:强制使用全局 SSL,并要求使用管理员证书登陆。
- 所有默认HBA规则现在全部在配置文件中显式定义。
可维护性
- 现有的配置模板可根据机器规格(CPU/内存/存储)自动调整优化。
- 现在可以动态配置 Postgres/Pgbouncer/Patroni/pgBackRest 的日志目录:默认为:
/pg/log/<type>/ - 原有的 IP 地址占位符
10.10.10.10被替换为一个专用变量:${admin_ip},可在多处引用,便于切换备用管理节点。 - 您可以指定
region来使用不同地区的上游镜像源,以加快软件包的下载速度。 - 现在允许用户定义更细粒度的上游源地址,您可以根据不同的EL版本、架构,以及地区,使用不同的上游源。
- 提供了阿里云与AWS中国地区的 Terraform 模板,可用于一键拉起所需的 EC2 虚拟机。
- 提供了多种不同规格的 Vagrant 沙箱模板:
meta,full,el7/8/9,minio,build,citus - 添加了新的专用剧本:
pgsql-monitor.yml用于监控现有的 Postgres 实例或 RDS。 - 添加了新的专用剧本:
pgsql-migration.yml,使用逻辑复制无缝迁移现有实例至 Pigsty管理的集群。 - 添加了一系列专用 Shell 实用命令,封装常见运维操作,方便用户使用。
- 优化了所有 Ansible Role 的实现,使其更加简洁、易读、易维护,无需默认参数即可使用。
- 允许在业务数据库/用户的层次上定义额外的 Pgbouncer 参数。
API变更
Pigsty v2.0 进行了大量变更,新增64个参数,移除13个参数,重命名17个参数。
新增的参数
INFRA.META.admin_ip: 主元节点 IP 地址INFRA.META.region: 上游镜像区域:default|china|europeINFRA.META.os_version: 企业版 Linux 发行版本:7,8,9INFRA.CA.ca_cn: CA 通用名称,默认为 pigsty-caINFRA.CA.cert_validity: 证书有效期,默认为 20 年INFRA.REPO.repo_enabled: 在 infra 节点上构建本地 yum 仓库吗?INFRA.REPO.repo_upstream: 上游 yum 仓库定义列表INFRA.REPO.repo_home: 本地 yum 仓库的主目录,通常与 nginx_home ‘/www’ 相同INFRA.NGINX.nginx_ssl_port: https 监听端口INFRA.NGINX.nginx_ssl_enabled: 启用 nginx https 吗?INFRA.PROMTETHEUS.alertmanager_endpoint: altermanager 端点(ip|domain):端口格式NODE.NODE_TUNE.node_hugepage_ratio: 内存 hugepage 比率,默认禁用,值为 0NODE.HAPROXY.haproxy_service: 要公开的 haproxy 服务列表PGSQL.PG_ID.pg_mode: pgsql 集群模式:pgsql,citus,gpsqlPGSQL.PG_BUSINESS.pg_dbsu_password: dbsu 密码,默认为空字符串表示没有 dbsu 密码PGSQL.PG_INSTALL.pg_log_dir: postgres 日志目录,默认为/pg/data/logPGSQL.PG_BOOTSTRAP.pg_storage_type: SSD|HDD,默认为 SSDPGSQL.PG_BOOTSTRAP.patroni_log_dir: patroni 日志目录,默认为/pg/logPGSQL.PG_BOOTSTRAP.patroni_ssl_enabled: 使用 SSL 保护 patroni RestAPI 通信?PGSQL.PG_BOOTSTRAP.patroni_username: patroni rest api 用户名PGSQL.PG_BOOTSTRAP.patroni_password: patroni rest api 密码(重要:请更改此密码)PGSQL.PG_BOOTSTRAP.patroni_citus_db: 由 patroni 管理的 citus 数据库,默认为 postgresPGSQL.PG_BOOTSTRAP.pg_max_conn: postgres 最大连接数,auto将使用推荐值PGSQL.PG_BOOTSTRAP.pg_shmem_ratio: postgres 共享内存比率,默认为 0.25,范围 0.1~0.4PGSQL.PG_BOOTSTRAP.pg_rto: 恢复时间目标,故障转移的 ttl,默认为 30sPGSQL.PG_BOOTSTRAP.pg_rpo: 恢复点目标,默认最多丢失 1MB 数据PGSQL.PG_BOOTSTRAP.pg_pwd_enc: 密码加密算法:md5|scram-sha-256PGSQL.PG_BOOTSTRAP.pgbouncer_log_dir: pgbouncer 日志目录,默认为/var/log/pgbouncerPGSQL.PG_BOOTSTRAP.pgbouncer_auth_query: 如果启用,查询 pg_authid 表以检索 biz 用户,而不是填充用户列表PGSQL.PG_BOOTSTRAP.pgbouncer_sslmode: pgbouncer 客户端的 SSL:disable|allow|prefer|require|verify-ca|verify-fullPGSQL.PG_BOOTSTRAP.pg_service_provider: 专用的 haproxy 节点组名称,或者默认为本地节点的空字符串PGSQL.PG_BOOTSTRAP.pg_default_service_dest: 如果 svc.dest=‘default’,则为默认服务目标PGSQL.PG_BACKUP.pgbackrest_enabled: 启用 pgbackrest 吗?PGSQL.PG_BACKUP.pgbackrest_clean: 初始化期间删除 pgbackrest 数据吗?PGSQL.PG_BACKUP.pgbackrest_log_dir: pgbackrest 日志目录,默认为/pg/logPGSQL.PG_BACKUP.pgbackrest_method: pgbackrest 备份仓库方法,local 或 minioPGSQL.PG_BACKUP.pgbackrest_repo: pgbackrest 备份仓库配置PGSQL.PG_DNS.pg_dns_suffix: pgsql dns 后缀,默认为空字符串PGSQL.PG_DNS.pg_dns_target: auto, primary, vip, none 或 ad hoc ipETCD.etcd_seq: etcd 实例标识符,必需ETCD.etcd_cluster: etcd 集群和组名称,默认为 etcdETCD.etcd_safeguard: 防止清除正在运行的 etcd 实例吗?ETCD.etcd_clean: 在初始化期间清除现有的 etcd 吗?ETCD.etcd_data: etcd 数据目录,默认为 /data/etcdETCD.etcd_port: etcd 客户端端口,默认为 2379ETCD.etcd_peer_port: etcd 对等端口,默认为 2380ETCD.etcd_init: etcd 初始集群状态,新建或已存在ETCD.etcd_election_timeout: etcd 选举超时,默认为 1000msETCD.etcd_heartbeat_interval: etcd 心跳间隔,默认为 100msMINIO.minio_seq: minio 实例标识符,必须参数MINIO.minio_cluster: minio 集群名称,默认为 minioMINIO.minio_clean: 初始化时清理 minio 吗?默认为 falseMINIO.minio_user: minio 操作系统用户,默认为minioMINIO.minio_node: minio 节点名模式MINIO.minio_data: minio 数据目录,使用 {x…y} 来指定多个驱动器MINIO.minio_domain: minio 外部域名,默认为sss.pigstyMINIO.minio_port: minio 服务端口,默认为 9000MINIO.minio_admin_port: minio 控制台端口,默认为 9001MINIO.minio_access_key: 根访问密钥,默认为minioadminMINIO.minio_secret_key: 根秘密密钥,默认为minioadminMINIO.minio_extra_vars: minio 服务器的额外环境变量MINIO.minio_alias: 本地 minio 部署的别名MINIO.minio_buckets: 待创建的 minio 存储桶列表MINIO.minio_users: 待创建的 minio 用户列表
移除的参数
INFRA.CA.ca_homedir: CA 主目录,现在固定为/etc/pki/INFRA.CA.ca_cert: CA 证书文件名,现在固定为ca.keyINFRA.CA.ca_key: CA 密钥文件名,现在固定为ca.keyINFRA.REPO.repo_upstreams: 已被repo_upstream替代PGSQL.PG_INSTALL.pgdg_repo: 现在由节点 playbooks 负责PGSQL.PG_INSTALL.pg_add_repo: 现在由节点 playbooks 负责PGSQL.PG_IDENTITY.pg_backup: 未使用且与部分名称冲突PGSQL.PG_IDENTITY.pg_preflight_skip: 不再使用,由pg_id替代DCS.dcs_name: 由于使用 etcd 而被移除DCS.dcs_servers: 被 ad hoc 组etcd替代DCS.dcs_registry: 由于使用 etcd 而被移除DCS.dcs_safeguard: 被etcd_safeguard替代DCS.dcs_clean: 被etcd_clean替代
重命名的参数
nginx_upstream->infra_portalrepo_address->repo_endpointpg_hostname->node_id_from_pgpg_sindex->pg_grouppg_services->pg_default_servicespg_services_extra->pg_servicespg_hba_rules_extra->pg_hba_rulespg_hba_rules->pg_default_hba_rulespgbouncer_hba_rules_extra->pgb_hba_rulespgbouncer_hba_rules->pgb_default_hba_rulesvip_mode->pg_vip_enabledvip_address->pg_vip_addressvip_interface->pg_vip_interfacenode_packages_default->node_default_packagesnode_packages_meta->infra_packagesnode_packages_meta_pip->infra_packages_pipnode_data_dir->node_data
Checksums
MD5 (pigsty-pkg-v2.0.0-rc1.el7.x86_64.tgz) = af4b5db9dc38c860de609956a8f1f0d3
MD5 (pigsty-pkg-v2.0.0-rc1.el8.x86_64.tgz) = 5b7152e142df3e3cbc06de30bd70e433
MD5 (pigsty-pkg-v2.0.0-rc1.el9.x86_64.tgz) = 1362e2a5680fc1a3a014cc4f304100bd
特别感谢意大利用户 @alemacci 在 SSL加密,备份,多操作系统发行版适配与自适应参数模版上的贡献!
v1.5.1
亮点
重要:修复了PG14.0-14.3中 CREATE INDEX|REINDEX CONCURRENTLY 可能导致索引数据损坏的问题。
Pigsty v1.5.1 升级默认PostgreSQL版本至 14.4 强烈建议尽快更新。
软件升级
- postgres 升级至 to 14.4
- haproxy 升级至 to 2.6.0
- grafana 升级至 to 9.0.0
- prometheus 升级至 2.36.0
- patroni 升级至 2.1.4
问题修复
- 修复了
pgsql-migration.yml中的TYPO - 移除了HAProxy配置文件中的PID配置项
- 移除了默认软件包中的 i686 软件包
- 默认启用所有Systemd Redis Service
- 默认启用所有Systemd Patroni Service
API变更
grafana_database与grafana_pgurl被标记为过时API,将从后续版本移除
New Apps
- wiki.js : 使用Postgres搭建本地维基百科
- FerretDB : 使用Postgres提供MongoDB API
v1.5.0
亮点概述
- 完善的Docker支持:在管理节点上默认启用并提供诸多开箱即用的软件模板:bytebase, pgadmin, pgweb, postgrest, minio等。
- 基础设施自我监控:Nginx, ETCD, Consul, Prometheus, Grafana, Loki 自我监控
- CMDB升级:兼容性改善,支持Redis集群/Greenplum集群元数据,配置文件可视化。
- 服务发现改进:可以使用Consul自动发现所有待监控对象,并纳入Prometheus中。
- 更好的冷备份支持:默认定时备份任务,添加
pg_probackup备份工具,一键创建延时从库。 - ETCD现在可以用作PostgreSQL/Patroni的DCS服务,作为Consul的备选项。
- Redis剧本/角色改善:现在允许对单个Redis实例,而非整个Redis节点进行初始化与移除。
详细变更列表
监控面板
- CMDB Overview:可视化Pigsty CMDB Inventory。
- DCS Overview:查阅Consul与ETCD集群的监控指标。
- Nginx Overview:查阅Pigsty Web访问指标与访问日志。
- Grafana Overview:Grafana自我监控
- Prometheus Overview:Prometheus自我监控
- INFRA Dashboard进行重制,反映基础设施整体状态
监控架构
- 现在允许使用 Consul 进行服务发现(当所有服务注册至Consul时)
- 现在所有的Infra组件会启用自我监控,并通过
infra_register角色注册至Prometheus与Consul中。 - 指标收集器 pg_exporter 更新至 v0.5.0,添加新功能,
scale与default,允许为指标指定一个倍乘因子,以及指定默认值。 pg_bgwriter,pg_wal,pg_query,pg_db,pgbouncer_stat关于时间的指标,单位由默认的毫秒或微秒统一缩放至秒。pg_table中的相关计数器指标,现在配置有默认值0,替代原有的NaN。pg_class指标收集器默认移除,相关指标添加至pg_table与pg_index收集器中。pg_table_size指标收集器现在默认启用,默认设置有300秒的缓存时间。
部署方案
- 新增可选软件包
docker.tgz,带有常用应用镜像:Pgadmin, Pgweb, Postgrest, ByteBase, Kong, Minio等。 - 新增角色ETCD,可以在DCS Servers指定的节点上自动部署ETCD服务,并自动纳入监控。
- 允许通过
pg_dcs_type指定PG高可用使用的DCS服务,Consul(默认),ETCD(备选) - 允许通过
node_crontab参数,为节点配置定时任务,例如数据库备份、VACUUM,统计收集等。 - 新增了
pg_checksum选项,启用时,数据库集群将启用数据校验和(此前只有crit模板默认启用) - 新增了
pg_delay选项,当实例为Standby Cluster Leader时,此参数可以用于配置一个延迟从库 - 新增了软件包
pg_probackup,默认角色replicator现在默认赋予了备份相关函数所需的权限。 - Redis部署现在拆分为两个部分:Redis节点与Redis实例,通过
redis_port参数可以精确控制一个具体实例。 - Loki 与 Promtail 现在使用
frpm制作的 RPM软件包进行安装。 - DCS3配置模板现在使用一个3节点的
pg-meta集群,与一个单节点的延迟从库。
软件升级
- 升级 PostgreSQL 至 14.3
- 升级 Redis 至 6.2.7
- 升级 PG Exporter 至 0.5.0
- 升级 Consul 至 1.12.0
- 升级 vip-manager 至 v1.0.2
- 升级 Grafana 至 v8.5.2
- 升级 Loki & Promtail 至 v2.5.0,使用frpm打包。
问题修复
- 修复了Loki 与 Promtail 默认配置文件名的问题
- 修复了Loki 与 Promtail 环境变量无法正确展开的问题
- 对英文文档进行了一次完整的翻译与修缮,文档依赖的JS资源现在直接从本地获取,无需互联网访问。
API变化
新参数
node_data_dir: 主要的数据挂载路径,如果不存在会被创建。node_crontab_overwrite: 覆盖/etc/crontab而非追加内容。node_crontab: 要被追加或覆盖的 node crontab 内容。nameserver_enabled: 在这个基础设施节节点上启用 nameserver 吗?prometheus_enabled: 在这个基础设施节节点上启用 prometheus 吗?grafana_enabled: 在这个基础设施节节点上启用 grafana 吗?loki_enabled: 在这个基础设施节节点上启用 loki 吗?docker_enable: 在这个基础设施节点上启用 docker 吗?consul_enable: 启用 consul 服务器/代理吗?etcd_enable: 启用 etcd 服务器/客户端吗?pg_checksum: 启用 pg 集群数据校验和吗?pg_delay: 备份集群主库复制重放时的应用延迟。
参数重制
现在 *_clean 是布尔类型的参数,用于在初始化期间清除现有实例。
*_safeguard 也是布尔类型的参数,用于在执行任何剧本时,避免清除正在运行的实例。
pg_exists_action->pg_cleanpg_disable_purge->pg_safeguarddcs_exists_action->dcs_cleandcs_disable_purge->dcs_safeguard
参数重命名
node_ntp_config->node_ntp_enablednode_admin_setup->node_admin_enablednode_admin_pks->node_admin_pk_listnode_dns_hosts->node_etc_hosts_defaultnode_dns_hosts_extra->node_etc_hostsnode_dns_server->node_dns_methodnode_local_repo_url->node_repo_local_urlsnode_packages->node_packages_defaultnode_extra_packages->node_packagesnode_packages_meta->node_packages_metanode_meta_pip_install->node_packages_meta_pipnode_sysctl_params->node_tune_paramsapp_list->nginx_indexesgrafana_plugin->grafana_plugin_methodgrafana_cache->grafana_plugin_cachegrafana_plugins->grafana_plugin_listgrafana_git_plugin_git->grafana_plugin_githaproxy_admin_auth_enabled->haproxy_auth_enabledpg_shared_libraries->pg_libsdcs_type->pg_dcs_type
v1.4.1
日常错误修复 / Docker 支持 / 英文文档
现在,默认在元节点上启用 docker。您可以使用它启动海量的各类软件
现在提供英文文档。
Bug 修复
- 修复 promtail & loki 配置变量问题
- 修复 grafana 旧版警报。
- 默认禁用 nameserver
- 为 patroni 快捷方式重命名 pg-alias.sh
- 为所有仪表板禁用 exemplars 查询
- 修复 loki 数据目录问题 https://github.com/Vonng/pigsty/issues/100
- 将 autovacuum_freeze_max_age 从 100000000 更改为 1000000000
v1.4.0
架构
- 将系统解耦为4大类别:
INFRA、NODES、PGSQL、REDIS,这使得pigsty更加清晰、更易于扩展。 - 单节点部署 =
INFRA+NODES+PGSQL - 部署pgsql集群 =
NODES+PGSQL - 部署redis集群 =
NODES+REDIS - 部署其他数据库 =
NODES+ xxx(例如MONGO、KAFKA…待定)
可访问性
- 为中国大陆提供CDN。
- 使用
bash -c "$(curl -fsSL http://get.pigsty.cc/latest)"获取最新源代码。 - 使用新的
download脚本下载并提取包。
监控增强
- 将监控系统分为5大类别:
INFRA、NODES、REDIS、PGSQL、APP - 默认启用日志记录
- 现在默认启用
loki和promtail,带有预构建的 loki-rpm。
- 现在默认启用
- 模型和标签
- 为所有仪表板添加了一个隐藏的
dsprometheus数据源变量,因此您只需选择一个新的数据源而不是修改Grafana数据源和仪表板。 - 为所有指标添加了一个
ip标签,并将其用作数据库指标和节点指标之间的连接键。
- 为所有仪表板添加了一个隐藏的
- INFRA监控
- Infra主仪表板:INFRA概览
- 添加日志仪表板:日志实例
- PGLOG分析和PGLOG会话现在被视为一个示例Pigsty APP。
- NODES监控应用
- 如果您完全不关心数据库,现在可以单独使用Pigsty作为主机监控软件!
- 包括4个核心仪表板:节点概览 & 节点集群 & 节点实例 & 节点警报
- 为节点引入新的身份变量:
node_cluster和nodename - 变量
pg_hostname现在意味着将主机名设置为与postgres实例名相同,以保持向后兼容性 - 变量
nodename_overwrite控制是否用nodename覆盖节点的主机名 - 变量
nodename_exchange将nodename写入彼此的/etc/hosts - 所有节点指标引用都经过修订,通过
ip连接 - 节点监控目标在
/etc/prometheus/targets/nodes下单独管理
- PGSQL监控增强
- 完全新的PGSQL集群,简化并专注于集群中的重要内容。
- 新仪表板PGSQL数据库是集群级对象监控。例如整个集群而不是单个实例的表和查询。
- PGSQL警报仪表板现在只关注pgsql警报。
- PGSQL Shard已添加到PGSQL中。
- Redis监控增强
- 为所有redis仪表板添加节点监控。
MatrixDB支持
- 通过
pigsty-matrix.ymlplaybook可以部署MatrixDB(Greenplum 7) - MatrixDB监控仪表板:PGSQL MatrixDB
- 添加示例配置:
pigsty-mxdb.yml
监控增强
- 将监控系统分为5大类别:
INFRA、NODES、REDIS、PGSQL、APP - 默认启用日志记录
- 现在默认启用
loki和promtail,带有预构建的 loki-rpm。
- 现在默认启用
- 模型和标签
- 为所有仪表板添加了一个隐藏的
dsprometheus数据源变量,因此您只需选择一个新的数据源而不是修改Grafana数据源和仪表板。 - 为所有指标添加了一个
ip标签,并将其用作数据库指标和节点指标之间的连接键。
- 为所有仪表板添加了一个隐藏的
- INFRA监控
- Infra主仪表板:INFRA概览
- 添加日志仪表板:日志实例
- PGLOG分析和PGLOG会话现在被视为一个示例Pigsty APP。
- NODES监控应用
- 如果您完全不关心数据库,现在可以单独使用Pigsty作为主机监控软件!
- 包括4个核心仪表板:节点概览 & 节点集群 & 节点实例 & 节点警报
- 为节点引入新的身份变量:
node_cluster和nodename - 变量
pg_hostname现在意味着将主机名设置为与postgres实例名相同,以保持向后兼容性 - 变量
nodename_overwrite控制是否用nodename覆盖节点的主机名 - 变量
nodename_exchange将nodename写入彼此的/etc/hosts - 所有节点指标引用都经过修订,通过
ip连接 - 节点监控目标在
/etc/prometheus/targets/nodes下单独管理
- PGSQL监控增强
- 完全新的PGSQL集群,简化并专注于集群中的重要内容。
- 新仪表板PGSQL数据库是集群级对象监控。例如整个集群而不是单个实例的表和查询。
- PGSQL警报仪表板现在只关注pgsql警报。
- PGSQL Shard已添加到PGSQL中。
- Redis监控增强
- 为所有redis仪表板添加节点监控。
MatrixDB支持
- 通过
pigsty-matrix.ymlplaybook可以部署MatrixDB(Greenplum 7) - MatrixDB监控仪表板:PGSQL MatrixDB
- 添加示例配置:
pigsty-mxdb.yml
置备改进
现在 pigsty 的工作流如下:
infra.yml ---> 在单一的元节点上安装 pigsty
| 然后将更多节点加入 pigsty 的管理下
|
nodes.yml ---> 为 pigsty 准备节点(节点设置、dcs、node_exporter、promtail)
| 然后选择一个 playbook 在这些节点上部署数据库集群
|
^--> pgsql.yml 在已准备好的节点上安装 postgres
^--> redis.yml 在已准备好的节点上安装 redis
infra-demo.yml =
infra.yml -l meta +
nodes.yml -l pg-test +
pgsql.yml -l pg-test +
infra-loki.yml + infra-jupyter.yml + infra-pgweb.yml
nodes.yml:用于设置和准备 pigsty 的节点,- 在节点上设置 node、node_exporter、consul agent
node-remove.yml用于节点注销pgsql.yml:现在只在已准备好的节点上工作pgsql-remove现在只负责 postgres 本身(dcs 和节点监控由node.yml负责)- 添加一系列新选项以在 greenplum/matrixdb 中重用
postgres角色 redis.yml:现在在已准备好的节点上工作- 而
redis-remove.yml现在从节点上移除 redis。 pgsql-matrix.yml现在在已准备好的节点上安装 matrixdb(Greenplum 7)。
软件升级
- PostgreSQL 14.2
- PostGIS 3.2
- TimescaleDB 2.6
- Patroni 2.1.3 (Prometheus 指标 + 故障转移插槽)
- HAProxy 2.5.5 (修复统计错误,更多指标)
- PG 导出器 0.4.1 (超时参数等)
- Grafana 8.4.4
- Prometheus 2.33.4
- Greenplum 6.19.4 / MatrixDB 4.4.0
- Loki 现在作为 rpm 包提供,而不是 zip 存档。
错误修复
- 删除 patroni 的 consul 依赖,这使其更容易迁移到新的 consul 集群
- 修复 prometheus bin/new 脚本的默认数据目录路径:从
/export/prometheus更改为/data/prometheus - 在 vip-manager systemd 服务中添加重新启动秒数
- 修复错别字和任务
API 变更
新增变量
node_cluster:节点集群的身份变量nodename_overwrite:如果设置,则 nodename 将设置为节点的主机名nodename_exchange:交换 play 主机之间的节点主机名(在/etc/hosts中)node_dns_hosts_extra:可以通过单个实例/集群轻松覆盖的额外静态 dns 记录patroni_enabled:如果禁用,postgres & patroni 的引导过程不会在postgres角色期间执行pgbouncer_enabled:如果禁用,pgbouncer 在postgres角色期间不会启动pg_exporter_params:生成监控目标 url 时为 pg_exporter 提供的额外 url 参数。pg_provision:布尔值变量,表示是否执行postgres角色的资源配置部分(模板,数据库,用户)no_cmdb:用于infra.yml和infra-demo.yml播放书,不会在元节点上创建 cmdb。
MD5 (app.tgz) = f887313767982b31a2b094e5589a75ea
MD5 (matrix.tgz) = 3d063437c482d94bd7e35df1a08bbc84
MD5 (pigsty.tgz) = e143b88ebea1474f9ebaffddc6072c49
MD5 (pkg.tgz) = 73e8f5ce995b1f1760cb63c1904fb91b
v1.3.1
监控
- PGSQL & PGCAT 仪表盘改进
- 优化 pgcat 实例 & pgcat 数据库的布局
- 在 pgsql 实例仪表盘中添加关键指标面板,与 pgsql 集群保持一致
- 在 pgcat 数据库中添加表/索引膨胀面板,移除 pgcat 膨胀仪表盘
- 在 pgcat 数据库仪表盘中添加索引信息
- 修复在 grafana 8.3 中的损坏面板
- 在 nginx 主页中添加 redis 索引
部署
- 新的
infra-demo.yml剧本用于一次性引导 - 使用
infra-jupyter.yml剧本部署可选的 jupyter lab 服务器 - 使用
infra-pgweb.yml剧本部署可选的 pgweb 服务器 - 在 meta 节点上新的
pg别名,可以从 admin 用户启动 postgres 集群(除了 postgres) - 根据
timescaledb-tune的建议调整所有 patroni 配置模板中的max_locks_per_transactions - 在配置模板中添加
citus.node_conninfo: 'sslmode=prefer'以便在没有 SSL 的情况下使用 citus - 在 pgdg14 包列表中添加所有扩展(除了 pgrouting)
- 将 node_exporter 升级到 v1.3.1
- 将 PostgREST v9.0.0 添加到包列表。从 postgres 模式生成 API。
错误修复
- Grafana 的安全漏洞(升级到 v8.3.1 问题)
- 修复
pg_instance&pg_service在register角色中从剧本的中间开始时的问题 - 修复在没有
pg_cluster变量存在的主机上 nginx 主页渲染问题 - 在升级到 grafana 8.3.1 时修复样式问题
v1.3.0
- 【功能增强】Redis 部署(集群、哨兵、主从)
- 【功能增强】Redis 监控
- Redis 总览仪表盘
- Redis 集群仪表盘
- Redis 实例仪表盘 -【功能增强】 监控:PGCAT 大修
- 新仪表盘:PGCAT 实例
- 新仪表盘:PGCAT 数据库仪表盘
- 重做仪表盘:PGCAT 表格
- 【功能增强】 监控:PGSQL 增强
- 新面板:PGSQL 集群,添加 10 个关键指标面板(默认切换)
- 新面板:PGSQL 实例,添加 10 个关键指标面板(默认切换)
- 简化 & 重新设计:PGSQL 服务
- 在 PGCAT & PGSL 仪表盘之间添加交叉引用 -【功能增强】 监控部署
- 现在 grafana 数据源在仅监控部署期间自动注册 -【功能增强】 软件升级
- 将 PostgreSQL 13 添加到默认包列表
- 默认升级到 PostgreSQL 14.1
- 添加 greenplum rpm 和依赖项
- 添加 redis rpm & 源代码包
- 将 perf 添加为默认包
v1.2.0
- 【功能增强】默认使用 PostgreSQL 14 版本
- 【功能增强】默认使用 TimescaleDB 2.5 扩展
- 现在 timescaledb 和 postgis 默认在 cmdb 中启用
- 【功能增强】 新增仅监控模式:
- 仅通过可连接的 URL,您可以使用 pigsty 监控现有的 pg 实例
- pg_exporter 将在本地的 meta 节点上部署
- 新仪表板 PGSQL Cluster Monly 用于远程集群
- 【功能增强】软件升级
- grafana 升级到 8.2.2
- pev2 升级到 v0.11.9
- promscale 升级到 0.6.2
- pgweb 升级到 0.11.9
- 新增扩展:pglogical、pg_stat_monitor、orafce
-【功能增强】自动检测机器规格并使用适当的
node_tune和pg_conf模板 -【功能增强】重做与膨胀相关的视图,现在公开更多信息 -【功能增强】删除 timescale 和 citus 的内部监控 -【功能增强】新剧本pgsql-audit.yml用于创建审计报告 -【BUG修复】现在 pgbouncer_exporter 资源所有者是 {{ pg_dbsu }} 而不是 postgres -【BUG修复】 修复在执行REINDEX TABLE CONCURRENTLY时 pg_exporter 在 pg_table pg_index 上的重复指标 -【功能增强】现在所有配置模板都减少到两个:auto 和 demo。(已删除:pub4, pg14, demo4, tiny, oltp) - 如果
vagrant是默认用户,则配置pigsty-demo,否则使用pigsty-auto。
如何从 v1.1.1 升级
在 1.2.0 中没有 API 变更。您仍然可以使用旧的 pigsty.yml 配置文件 (PG13)。
对于基础设施部分,重新执行 repo 将完成大部分工作。
至于数据库,您仍然可以使用现有的 PG13 实例。就地升级在涉及到像 PostGIS 和 Timescale 这样的扩展时非常棘手。我强烈推荐使用逻辑复制进行数据库迁移。
新的剧本 pgsql-migration.yml 将使这一过程变得容易得多。它将创建一系列的脚本,帮助您近乎零停机时间地迁移您的集群。
v1.1.1
- 【功能增强】 用
timescale版本替换 timescaledb 的apache版本 - 【功能增强】 升级 prometheus 到 2.30
- 【BUG修复】 现在 pg_exporter 配置目录的属主是
{{ pg_dbsu }},而不再是prometheus
如何从v1.1.0升级?
这个版本的主要变动是 TimescaleDB,使用 TimescaleDB License (TSL)的官方版本替代了 PGDG 仓库中的 Apache License v2 的版本。
stop/pause postgres instance with timescaledb
yum remove -y timescaledb_13
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/7/$basearch
repo_gpgcheck=0
gpgcheck=0
enabled=1
yum install timescaledb-2-postgresql13
v1.1.0
- 【增强功能】 增加
pg_dummy_filesize以创建文件系统空间占位符 - 【增强功能】 主页大改版
- 【增强功能】 增加 Jupyter Lab 整合
- 【增强功能】 增加 pgweb 控制台整合
- 【增强功能】 增加 pgbadger 支持
- 【增强功能】 增加 pev2 支持,解释可视化工具
- 【增强功能】 增加 pglog 工具
- 【增强功能】 更新默认的 pkg.tgz 软件版本:
- PostgreSQL 升级至 v13.4(支持官方的 pg14)
- pgbouncer 升级至 v1.16(指标定义更新)
- Grafana 升级至 v8.1.4
- Prometheus 升级至 v2.2.29
- node_exporter 升级至 v1.2.2
- haproxy 升级至 v2.1.1
- consul 升级至 v1.10.2
- vip-manager 升级至 v1.0.1
API 变更
nginx_upstream现在持有不同的结构。(不兼容)- 新的配置条目:
app_list,渲染至主页的导航条目 - 新的配置条目:
docs_enabled,在默认服务器上设置本地文档 - 新的配置条目:
pev2_enabled,设置本地的 pev2 工具 - 新的配置条目:
pgbadger_enabled,创建日志概要/报告目录 - 新的配置条目:
jupyter_enabled,在元节点上启用 Jupyter Lab 服务器 - 新的配置条目:
jupyter_username,指定运行 Jupyter Lab 的用户 - 新的配置条目:
jupyter_password,指定 Jupyter Lab 的默认密码 - 新的配置条目:
pgweb_enabled,在元节点上启用 pgweb 服务器 - 新的配置条目:
pgweb_username,指定运行 pgweb 的用户 - 将内部标记
repo_exist重命名为repo_exists - 现在
repo_address的默认值为pigsty而非yum.pigsty - 现在 haproxy 的访问点为
http://pigsty而非http://h.pigsty
v1.0.1
2021-09-14
- 文档更新
- 现已支持中文文档
- 现已支持机器翻译的英文文档
- 错误修复:
pgsql-remove不会移除主实例 - 错误修复:用 pg_cluster + pg_seq 替换 pg_instance
- Start-At-Task 可能因为 pg_instance 未定义而失败
- 错误修复:从默认共享预加载库中移除 citus
- citus 会强制 max_prepared_transaction 的值为非零
- 错误修复:在
configure中进行 ssh sudo 检查:- 现在使用
ssh -t sudo -n ls进行权限检查
- 现在使用
- 笔误修复:
pg-backup脚本的笔误 - 警报调整:移除 NTP 合理性检查警报(与 ClockSkew 重复)
- 导出器调整:移除 collector.systemd 以减少开销
v1.0.0
v1 正式发布,监控系统全面改进
亮点
- 监控系统全面改进
- 在 Grafana 8.0 上新增仪表盘
- 新的度量定义,增加 PG14 支持
- 简化的标签系统:静态标签集:(job, cls, ins)
- 新的警报规则与衍生度量
- 同时监控多个数据库
- 实时日志搜索 & csvlog 分析
- 链接丰富的仪表盘,点击图形元素进行深入|汇总
- 架构变更
- 将 citus 和 timescaledb 加入默认安装部分
- 增加对 PostgreSQL 14beta2 的支持
- 简化 haproxy 管理页面索引
- 通过添加新的角色
register来解耦基础设施和 pgsql - 添加新角色
loki和promtail用于日志记录 - 为管理员节点上的管理员用户添加新角色
environ以设置环境 - 默认使用
static服务发现用于 prometheus(而不是consul) - 添加新角色
remove以优雅地移除集群和实例 - 升级 prometheus 和 grafana 的配置逻辑
- 升级到 vip-manager 1.0,node_exporter 1.2,pg_exporter 0.4,grafana 8.0
- 现在,每个实例上的每个数据库都可以自动注册为 grafana 数据源
- 将 consul 注册任务移到
register角色,更改 consul 服务标签 - 添加 cmdb.sql 作为 pg-meta 基线定义(CMDB & PGLOG)
- 应用框架
- 可扩展框架用于新功能
- 核心应用:PostgreSQL 监控系统:
pgsql - 核心应用:PostgreSQL 目录浏览器:
pgcat - 核心应用:PostgreSQL Csvlog 分析器:
pglog - 添加示例应用
covid用于可视化 covid-19 数据 - 添加示例应用
isd用于可视化 isd 数据
- 其他
- 添加 jupyterlab,为数据科学提供完整的 python 环境
- 添加
vonng-echarts-panel以恢复对 Echarts 的支持 - 添加 wrap 脚本
createpg,createdb,createuser - 添加 cmdb 动态库存脚本:
load_conf.py,inventory_cmdb,inventory_conf - 移除过时的剧本:
pgsql-monitor,pgsql-service,node-remove等….
API 变更
- 新变量:
node_meta_pip_install - 新变量:
grafana_admin_username - 新变量:
grafana_database - 新变量:
grafana_pgurl - 新变量:
pg_shared_libraries - 新变量:
pg_exporter_auto_discovery - 新变量:
pg_exporter_exclude_database - 新变量:
pg_exporter_include_database - 变量重命名:
grafana_url为grafana_endpoint
Bug 修复
- 修复默认时区 Asia/Shanghai (CST) 问题
- 修复 pgbouncer & patroni 的 nofile 限制
- 当执行标签
pgbouncer时,pgbouncer 的用户列表和数据库列表将会被生成
v0.9.0
v0.9极大简化了安装流程,进行了大量日志相关改进,开发了命令行工具(Beta),并修复了一系列问题。
新功能
一键安装模式:
/bin/bash -c "$(curl -fsSL https://pigsty.cc/install)"开发命令行工具
pigsty-cli封装常用Ansible命令,目前pigsty-cli处于Beta状态使用Loki与Promtail收集日志:
- 默认收集Postgres,Pgbouncer,Patroni日志
- 新增部署脚本
infra-loki.yml与pgsql-promtail.yml - 定义基于日志的监控指标
- 使用Grafana制作日志相关可视化面板。
监控组件可以使用二进制安装,使用
files/get_bin.sh下载监控二进制组件。飞升模式: 当集群元节点初始化完成后,可以使用
bin/upgrade升级为动态Inventory 使用pg-meta上的数据库代替YAML配置文件。
问题修复
- 集中修复日志相关问题:
- 修复了HAProxy健康检查造成PG日志中大量
connection reset by peer的问题。 - 修复了HAProxy健康检查造成Patroni日志中大量出现
Connect ResetException的问题 - 修复了Patroni日志时间戳格式,去除毫秒时间戳,附加完整时区信息。
- 为
dbuser_monitor配置1秒的log_min_duration_statement,避免监控查询出现在日志中。
- 修复了HAProxy健康检查造成PG日志中大量
- 重构Grafana角色
- 在保持API不变的前提下重构Grafana角色。
- 使用CDN下载预打包的Grafana插件,加速插件下载
- 其他问题修复
- 修复了
pgbouncer-create-user未能正确处理 md5 密码的问题。 - 完善了数据库与用户创建SQL模版中参数空置检查。
- 修复了 NODE DNS配置时如果手工中断执行,DNS配置可能出错的问题。
- 重构了Makefile快捷方式 Makefile 中的错别字
- 修复了
参数变更
node_disable_swap默认为 False,默认不会关闭SWAP。node_sysctl_params不再有默认修改的系统参数。grafana_plugin的默认值install现在意味着当插件缓存不存在时,从CDN下载。repo_url_packages现在从 Pigsty CDN 下载额外的RPM包,解决墙内无法访问的问题。proxy_env.no_proxy现在将Pigsty CDN加入到NOPROXY列表中。grafana_customize现在默认为false,启用意味着安装Pigsty Pro版UI(默认不开源所以不要启用)node_admin_pk_current,新增选项,启用后会将当前用户的~/.ssh/id_rsa.pub添加至管理员的Key中loki_clean:新增选项,安装Loki时是否清除现有数据loki_data_dir:新增选项,指明安装Loki时的数据目录promtail_enabled是否启用Promtail日志收集服务?promtail_clean是否在安装promtail时移除已有状态信息?promtail_portpromtail使用的默认端口,默认为9080promtail_status_file保存Promtail状态信息的文件位置promtail_send_url用于接收日志的loki服务endpoint
v0.8.0
v0.8 针对 服务(Service) 接入部分进行了彻底的重做。现在除了默认的primary, replica服务外,用户可以自行定义新的服务。服务的接口可以支持多种不同的实现,例如L4 DPKG VIP可作为Haproxy的替代品与Pigsty集成。同时,针对用户反馈的一些问题进行了集中处理与改进。
改动内容
v0.8是供给方案定稿版本,此后供给系统的API将保持稳定。
API变更
原有vip与haproxy角色的所有配置项,现在迁移至service角色中。
#------------------------------------------------------------------------------
# SERVICE PROVISION
#------------------------------------------------------------------------------
pg_weight: 100 # default load balance weight (instance level)
# - service - #
pg_services: # how to expose postgres service in cluster?
# primary service will route {ip|name}:5433 to primary pgbouncer (5433->6432 rw)
- name: primary # service name {{ pg_cluster }}_primary
src_ip: "*"
src_port: 5433
dst_port: pgbouncer # 5433 route to pgbouncer
check_url: /primary # primary health check, success when instance is primary
selector: "[]" # select all instance as primary service candidate
# replica service will route {ip|name}:5434 to replica pgbouncer (5434->6432 ro)
- name: replica # service name {{ pg_cluster }}_replica
src_ip: "*"
src_port: 5434
dst_port: pgbouncer
check_url: /read-only # read-only health check. (including primary)
selector: "[]" # select all instance as replica service candidate
selector_backup: "[? pg_role == `primary`]" # primary are used as backup server in replica service
# default service will route {ip|name}:5436 to primary postgres (5436->5432 primary)
- name: default # service's actual name is {{ pg_cluster }}-{{ service.name }}
src_ip: "*" # service bind ip address, * for all, vip for cluster virtual ip address
src_port: 5436 # bind port, mandatory
dst_port: postgres # target port: postgres|pgbouncer|port_number , pgbouncer(6432) by default
check_method: http # health check method: only http is available for now
check_port: patroni # health check port: patroni|pg_exporter|port_number , patroni by default
check_url: /primary # health check url path, / as default
check_code: 200 # health check http code, 200 as default
selector: "[]" # instance selector
haproxy: # haproxy specific fields
maxconn: 3000 # default front-end connection
balance: roundrobin # load balance algorithm (roundrobin by default)
default_server_options: 'inter 3s fastinter 1s downinter 5s rise 3 fall 3 on-marked-down shutdown-sessions slowstart 30s maxconn 3000 maxqueue 128 weight 100'
# offline service will route {ip|name}:5438 to offline postgres (5438->5432 offline)
- name: offline # service name {{ pg_cluster }}_replica
src_ip: "*"
src_port: 5438
dst_port: postgres
check_url: /replica # offline MUST be a replica
selector: "[? pg_role == `offline` || pg_offline_query ]" # instances with pg_role == 'offline' or instance marked with 'pg_offline_query == true'
selector_backup: "[? pg_role == `replica` && !pg_offline_query]" # replica are used as backup server in offline service
pg_services_extra: [] # extra services to be added
# - haproxy - #
haproxy_enabled: true # enable haproxy among every cluster members
haproxy_reload: true # reload haproxy after config
haproxy_policy: roundrobin # roundrobin, leastconn
haproxy_admin_auth_enabled: false # enable authentication for haproxy admin?
haproxy_admin_username: admin # default haproxy admin username
haproxy_admin_password: admin # default haproxy admin password
haproxy_exporter_port: 9101 # default admin/exporter port
haproxy_client_timeout: 3h # client side connection timeout
haproxy_server_timeout: 3h # server side connection timeout
# - vip - #
vip_mode: none # none | l2 | l4
vip_reload: true # whether reload service after config
# vip_address: 127.0.0.1 # virtual ip address ip (l2 or l4)
# vip_cidrmask: 24 # virtual ip address cidr mask (l2 only)
# vip_interface: eth0 # virtual ip network interface (l2 only)
新增选项
# - localization - #
pg_encoding: UTF8 # default to UTF8
pg_locale: C # default to C
pg_lc_collate: C # default to C
pg_lc_ctype: en_US.UTF8 # default to en_US.UTF8
pg_reload: true # reload postgres after hba changes
vip_mode: none # none | l2 | l4
vip_reload: true # whether reload service after config
移除选项
haproxy_check_port # Haproxy相关参数已经被Service定义覆盖
haproxy_primary_port
haproxy_replica_port
haproxy_backend_port
haproxy_weight
haproxy_weight_fallback
vip_enabled # vip_enabled参数被vip_mode覆盖
服务管理
pg_services 与 pg_services_extra 定义了集群中的服务,每一个服务的定义结构如下例所示:
一个服务必须指定以下内容:
名称:服务的完整名称以数据库集群名为前缀,以
service.name为后缀,通过-连接。例如在pg-test集群中name=primary的服务,其完整服务名称为pg-test-primary。端口:在Pigsty中,服务默认采用NodePort的形式对外暴露,因此暴露端口为必选项。但如果使用外部负载均衡服务接入方案,您也可以通过其他的方式区分服务。
选择器:选择器指定了服务的成员,采用JMESPath的形式,从所有集群实例成员中筛选变量。默认的
[]选择器会选取所有的集群成员。此外
selector_backup会选择或标记用于backup的实例列表(当集群中所有其他成员失效时方才接管服务)
# default service will route {ip|name}:5436 to primary postgres (5436->5432 primary)
- name: default # service's actual name is {{ pg_cluster }}-{{ service.name }}
src_ip: "*" # service bind ip address, * for all, vip for cluster virtual ip address
src_port: 5436 # bind port, mandatory
dst_port: postgres # target port: postgres|pgbouncer|port_number , pgbouncer(6432) by default
check_method: http # health check method: only http is available for now
check_port: patroni # health check port: patroni|pg_exporter|port_number , patroni by default
check_url: /primary # health check url path, / as default
check_code: 200 # health check http code, 200 as default
selector: "[]" # instance selector
haproxy: # haproxy specific fields
maxconn: 3000 # default front-end connection
balance: roundrobin # load balance algorithm (roundrobin by default)
default_server_options: 'inter 3s fastinter 1s downinter 5s rise 3 fall 3 on-marked-down shutdown-sessions slowstart 30s maxconn 3000 maxqueue 128 weight 100'
数据库管理
数据库现在可以对locale的细分选项:lc_ctype与lc_collate分别进行指定。支持这一功能的主要原因是PG的扩展插件pg_trgm需要在lc_ctype!=C的环境中才能正常支持中文。
旧接口定义
pg_databases:
- name: meta # name is the only required field for a database
owner: postgres # optional, database owner
template: template1 # optional, template1 by default
encoding: UTF8 # optional, UTF8 by default
locale: C # optional, C by default
allowconn: true # optional, true by default, false disable connect at all
revokeconn: false # optional, false by default, true revoke connect from public # (only default user and owner have connect privilege on database)
tablespace: pg_default # optional, 'pg_default' is the default tablespace
connlimit: -1 # optional, connection limit, -1 or none disable limit (default)
extensions: # optional, extension name and where to create
- {name: postgis, schema: public}
parameters: # optional, extra parameters with ALTER DATABASE
enable_partitionwise_join: true
pgbouncer: true # optional, add this database to pgbouncer list? true by default
comment: pigsty meta database # optional, comment string for database
新的接口定义
pg_databases:
- name: meta # name is the only required field for a database
# owner: postgres # optional, database owner
# template: template1 # optional, template1 by default
# encoding: UTF8 # optional, UTF8 by default , must same as template database, leave blank to set to db default
# locale: C # optional, C by default , must same as template database, leave blank to set to db default
# lc_collate: C # optional, C by default , must same as template database, leave blank to set to db default
# lc_ctype: C # optional, C by default , must same as template database, leave blank to set to db default
allowconn: true # optional, true by default, false disable connect at all
revokeconn: false # optional, false by default, true revoke connect from public # (only default user and owner have connect privilege on database)
# tablespace: pg_default # optional, 'pg_default' is the default tablespace
connlimit: -1 # optional, connection limit, -1 or none disable limit (default)
extensions: # optional, extension name and where to create
- {name: postgis, schema: public}
parameters: # optional, extra parameters with ALTER DATABASE
enable_partitionwise_join: true
pgbouncer: true # optional, add this database to pgbouncer list? true by default
comment: pigsty meta database # optional, comment string for database
v0.7.0
v0.7 针对接入已有数据库实例进行了改进,现在用户可以采用 仅监控部署(Monly Deployment) 模式使用Pigsty。同时新增了专用于管理数据库与用户、以及单独部署监控的剧本,并对数据库与用户的定义进行改进。
Features
- Monitor Only Deployment Support #25
- Split monolith static monitor target file into per-cluster conf #36
- Add create user playbook #29
- Add create database playbook #28
- Database provisioning interface enhancement #33
- User provisioning interface enhancement #34
Bug Fix
API变更
新增选项
prometheus_sd_target: batch # batch|single 监控目标定义文件采用单体还是每个实例一个
exporter_install: none # none|yum|binary 监控Exporter的安装模式
exporter_repo_url: '' # 如果设置,这里的REPO连接会加入目标的Yum源中
node_exporter_options: '--no-collector.softnet --collector.systemd --collector.ntp --collector.tcpstat --collector.processes' # Node Exporter默认的命令行选项
pg_exporter_url: '' # 可选,PG Exporter监控对象的URL
pgbouncer_exporter_url: '' # 可选,PGBOUNCER EXPORTER监控对象的URL
移除选项
exporter_binary_install: false # 功能被 exporter_install 覆盖
定义结构变更
pg_default_roles # 变化细节参考 用户管理。
pg_users # 变化细节参考 用户管理。
pg_databases # 变化细节参考 数据库管理。
重命名选项
pg_default_privilegs -> pg_default_privileges # 很明显这是一个错别字
仅监控模式
有时用户不希望使用Pigsty供给方案,只希望使用Pigsty监控系统管理现有PostgreSQL实例。
Pigsty提供了仅监控部署(monly, monitor-only模式,剥离供给方案部分,可用于监控现有PostgreSQL集群。
仅监控模式的部署流程与标准模式大体上保持一致,但省略了很多步骤
- 在元节点上完成基础设施初始化的部分与标准流程保持一致,仍然通过
./infra.yml完成。 - 不需要在数据库节点上完成 基础设施初始化。
- 不需要在数据库节点上执行数据库初始化的绝大多数任务,而是通过专用的
./pgsql-monitor.yml完成仅监控系统部署。 - 实际使用的配置项大大减少,只保留基础设施相关变量,与 监控系统相关的少量变量。
数据库管理
Database provisioning interface enhancement #33
旧接口定义
pg_databases: # create a business database 'meta'
- name: meta
schemas: [meta] # create extra schema named 'meta'
extensions: [{name: postgis}] # create extra extension postgis
parameters: # overwrite database meta's default search_path
search_path: public, monitor
新的接口定义
pg_databases:
- name: meta # name is the only required field for a database
owner: postgres # optional, database owner
template: template1 # optional, template1 by default
encoding: UTF8 # optional, UTF8 by default
locale: C # optional, C by default
allowconn: true # optional, true by default, false disable connect at all
revokeconn: false # optional, false by default, true revoke connect from public # (only default user and owner have connect privilege on database)
tablespace: pg_default # optional, 'pg_default' is the default tablespace
connlimit: -1 # optional, connection limit, -1 or none disable limit (default)
extensions: # optional, extension name and where to create
- {name: postgis, schema: public}
parameters: # optional, extra parameters with ALTER DATABASE
enable_partitionwise_join: true
pgbouncer: true # optional, add this database to pgbouncer list? true by default
comment: pigsty meta database # optional, comment string for database
接口变更
- Add new options:
template,encoding,locale,allowconn,tablespace,connlimit - Add new option
revokeconn, which revoke connect privileges from public for this database - Add
commentfield for database
数据库变更
在运行中集群中创建新数据库可以使用pgsql-createdb.yml剧本,在配置中定义完新数据库后,执行以下剧本。
./pgsql-createdb.yml -e pg_database=<your_new_database_name>
通过-e pg_datbase=告知需要创建的数据库名称,则该数据库即会被创建(或修改)。具体执行的命令参见集群主库/pg/tmp/pg-db-{{ database.name}}.sql文件。
用户管理
User provisioning interface enhancement #34
旧接口定义
pg_users:
- username: test # example production user have read-write access
password: test # example user's password
options: LOGIN # extra options
groups: [ dbrole_readwrite ] # dborole_admin|dbrole_readwrite|dbrole_readonly
comment: default test user for production usage
pgbouncer: true # add to pgbouncer
新接口定义
pg_users:
# complete example of user/role definition for production user
- name: dbuser_meta # example production user have read-write access
password: DBUser.Meta # example user's password, can be encrypted
login: true # can login, true by default (should be false for role)
superuser: false # is superuser? false by default
createdb: false # can create database? false by default
createrole: false # can create role? false by default
inherit: true # can this role use inherited privileges?
replication: false # can this role do replication? false by default
bypassrls: false # can this role bypass row level security? false by default
connlimit: -1 # connection limit, -1 disable limit
expire_at: '2030-12-31' # 'timestamp' when this role is expired
expire_in: 365 # now + n days when this role is expired (OVERWRITE expire_at)
roles: [dbrole_readwrite] # dborole_admin|dbrole_readwrite|dbrole_readonly
pgbouncer: true # add this user to pgbouncer? false by default (true for production user)
parameters: # user's default search path
search_path: public
comment: test user
接口变更
usernamefield rename tonamegroupsfield rename torolesoptionsnow split into separated configration entries:login,superuser,createdb,createrole,inherit,replication,bypassrls,connlimitexpire_atandexpire_inoptionspgbounceroption for user is nowfalseby default
用户管理
在运行中集群中创建新数据库可以使用pgsql-createuser.yml剧本,在配置中定义完新数据库后,执行以下剧本。
./pgsql-createuser.yml -e pg_user=<your_new_user_name>
通过-e pg_user=告知需要创建的数据库名称,则该数据库即会被创建(或修改)。具体执行的命令参见集群主库/pg/tmp/pg-user-{{ user.name}}.sql文件。
v0.6.0
v0.6 对数据库供给方案进行了修改与调整,根据用户的反馈添加了一系列实用功能与修正。针对监控系统的移植性进行优化,便于与其他外部数据库供给方案对接。
BUG修复
- 修复了新版本Patroni重启后会重置PG HBA的问题
- 修复了PG Overview Dashboard标题中的别字
- 修复了沙箱集群
pg-test的默认主库,原来为pg-test-2,应当为pg-test-1 - 修复了过时代码注释
功能改进
- 改造Prometheus与监控供给方式
- Haproxy供给重构与改进 #8
- 访问控制模型改进。#7
- 添加了默认角色
dbrole_offline,用于慢查询,ETL,交互式查询场景。 - 修改默认HBA规则,允许
dbrole_offline分组的用户访问pg_role == 'offline'及pg_offline_query == true的实例。
- 添加了默认角色
- 软件更新 Release v0.6
- PostgreSQL 13.2
- Prometheus 2.25
- PG Exporter 0.3.2
- Node Exporter 1.1
- Consul 1.9.3
- 更新默认PG源:PostgreSQL现在默认使用浙江大学的镜像,加速下载安装
接口变更
新增选项
service_registry: consul # 服务注册机制:none | consul | etcd | both
prometheus_options: '--storage.tsdb.retention=30d' # prometheus命令行选项
prometheus_sd_method: consul # Prometheus使用的服务发现机制:static|consul
prometheus_sd_interval: 2s # Prometheus服务发现刷新间隔
pg_offline_query: false # 设置后将允许dbrole_offline角色连接与查询该实例
node_exporter_enabled: true # 设置后将安装配置Node Exporter
pg_exporter_enabled: true # 设置后将安装配置PG Exporter
pgbouncer_exporter_enabled: true # 设置后将安装配置Pgbouncer Exporter
dcs_disable_purge: false # 双保险,强制 dcs_exists_action = abort 避免误删除DCS实例
pg_disable_purge: false # 双保险,强制 pg_exists_action = abort 避免误删除数据库实例
haproxy_weight: 100 # 配置实例的相对负载均衡权重
haproxy_weight_fallback: 1 # 配置集群主库在只读服务中的相对权重
移除选项
prometheus_metrics_path # 与 exporter_metrics_path 重复
prometheus_retention # 功能被 prometheus_options 覆盖
v0.5.0
Pigsty 现在有了官方网站啦:pigsty.cc 🎉 !
亮点特性
- Pigsty官方文档站正式上线!
- 添加了数据库模板的定制支持,用户可以通过配置文件定制所需的数据库内部对象。
- 对默认访问控制模型进行了改进
- 重构了HBA管理的逻辑,现在将由Pigsty替代Patroni直接负责生成HBA
- 将Grafana监控系统的供给方案从sqlite改为JSON文件静态Provision
- 将
pg-cluster-replication面板加入Pigsty开源免费套餐。 - 最新的经过测试的离线安装包:pkg.tgz (v0.5)
定制数据库
您是否烦恼过单实例多租户的问题?比如总有研发拿着PostgreSQL当MySQL使,明明是一个Schema就能解决的问题,非要创建一个新的数据库出来,在一个实例中创建出几十个不同的DB。 不要忧伤,不要心急。Pigsty已经提供数据库内部对象的Provision方案,您可以轻松地在配置文件中指定所需的数据库内对象,包括:
- 角色
- 用户/角色名
- 密码
- 用户属性
- 用户备注
- 用户所属的权限组
- 数据库
- 属主
- 额外的模式
- 额外的扩展插件
- 数据库级的自定义配置参数
- 数据库
- 属主
- 额外的模式
- 额外的扩展插件
- 数据库级的自定义配置参数
- 默认权限
- 默认情况下这里配置的权限会应用至所有由 超级用户 和 管理员用户创建的对象上。
- 默认扩展
- 所有新创建的业务数据库都会安装有这些默认扩展
- 默认模式
- 所有新创建的业务数据库都会创建有这些默认的模式
配置样例
# 通常是每个DB集群配置的变量
pg_users:
- username: test
password: test
comment: default test user
groups: [ dbrole_readwrite ] # dborole_admin|dbrole_readwrite|dbrole_readonly
pg_databases: # create a business database 'test'
- name: test
extensions: [{name: postgis}] # create extra extension postgis
parameters: # overwrite database meta's default search_path
search_path: public,monitor
# 通常是整个环境统一配置的全局变量
# - system roles - #
pg_replication_username: replicator # system replication user
pg_replication_password: DBUser.Replicator # system replication password
pg_monitor_username: dbuser_monitor # system monitor user
pg_monitor_password: DBUser.Monitor # system monitor password
pg_admin_username: dbuser_admin # system admin user
pg_admin_password: DBUser.Admin # system admin password
# - default roles - #
pg_default_roles:
- username: dbrole_readonly # sample user:
options: NOLOGIN # role can not login
comment: role for readonly access # comment string
- username: dbrole_readwrite # sample user: one object for each user
options: NOLOGIN
comment: role for read-write access
groups: [ dbrole_readonly ] # read-write includes read-only access
- username: dbrole_admin # sample user: one object for each user
options: NOLOGIN BYPASSRLS # admin can bypass row level security
comment: role for object creation
groups: [dbrole_readwrite,pg_monitor,pg_signal_backend]
# NOTE: replicator, monitor, admin password are overwritten by separated config entry
- username: postgres # reset dbsu password to NULL (if dbsu is not postgres)
options: SUPERUSER LOGIN
comment: system superuser
- username: replicator
options: REPLICATION LOGIN
groups: [pg_monitor, dbrole_readonly]
comment: system replicator
- username: dbuser_monitor
options: LOGIN CONNECTION LIMIT 10
comment: system monitor user
groups: [pg_monitor, dbrole_readonly]
- username: dbuser_admin
options: LOGIN BYPASSRLS
comment: system admin user
groups: [dbrole_admin]
- username: dbuser_stats
password: DBUser.Stats
options: LOGIN
comment: business read-only user for statistics
groups: [dbrole_readonly]
# object created by dbsu and admin will have their privileges properly set
pg_default_privilegs:
- GRANT USAGE ON SCHEMAS TO dbrole_readonly
- GRANT SELECT ON TABLES TO dbrole_readonly
- GRANT SELECT ON SEQUENCES TO dbrole_readonly
- GRANT EXECUTE ON FUNCTIONS TO dbrole_readonly
- GRANT INSERT, UPDATE, DELETE ON TABLES TO dbrole_readwrite
- GRANT USAGE, UPDATE ON SEQUENCES TO dbrole_readwrite
- GRANT TRUNCATE, REFERENCES, TRIGGER ON TABLES TO dbrole_admin
- GRANT CREATE ON SCHEMAS TO dbrole_admin
- GRANT USAGE ON TYPES TO dbrole_admin
# schemas
pg_default_schemas: [monitor]
# extension
pg_default_extensions:
- { name: 'pg_stat_statements', schema: 'monitor' }
- { name: 'pgstattuple', schema: 'monitor' }
- { name: 'pg_qualstats', schema: 'monitor' }
- { name: 'pg_buffercache', schema: 'monitor' }
- { name: 'pageinspect', schema: 'monitor' }
- { name: 'pg_prewarm', schema: 'monitor' }
- { name: 'pg_visibility', schema: 'monitor' }
- { name: 'pg_freespacemap', schema: 'monitor' }
- { name: 'pg_repack', schema: 'monitor' }
- name: postgres_fdw
- name: file_fdw
- name: btree_gist
- name: btree_gin
- name: pg_trgm
- name: intagg
- name: intarray
# postgres host-based authentication rules
pg_hba_rules:
- title: allow meta node password access
role: common
rules:
- host all all 10.10.10.10/32 md5
- title: allow intranet admin password access
role: common
rules:
- host all +dbrole_admin 10.0.0.0/8 md5
- host all +dbrole_admin 172.16.0.0/12 md5
- host all +dbrole_admin 192.168.0.0/16 md5
- title: allow intranet password access
role: common
rules:
- host all all 10.0.0.0/8 md5
- host all all 172.16.0.0/12 md5
- host all all 192.168.0.0/16 md5
- title: allow local read-write access (local production user via pgbouncer)
role: common
rules:
- local all +dbrole_readwrite md5
- host all +dbrole_readwrite 127.0.0.1/32 md5
- title: allow read-only user (stats, personal) password directly access
role: replica
rules:
- local all +dbrole_readonly md5
- host all +dbrole_readonly 127.0.0.1/32 md5
pg_hba_rules_extra: []
# pgbouncer host-based authentication rules
pgbouncer_hba_rules:
- title: local password access
role: common
rules:
- local all all md5
- host all all 127.0.0.1/32 md5
- title: intranet password access
role: common
rules:
- host all all 10.0.0.0/8 md5
- host all all 172.16.0.0/12 md5
- host all all 192.168.0.0/16 md5
pgbouncer_hba_rules_extra: []
数据库模板
- pg-init-template.sql 用于初始化
template1数据的脚本模板 - pg-init-business.sql 用于初始化其他业务数据库的脚本模板
权限模型
v0.5 改善了默认的权限模型,主要是针对单实例多租户的场景进行优化,并收紧权限控制。
- 撤回了普通业务用户对非所属数据库的默认
CONNECT权限 - 撤回了非管理员用户对所属数据库的默认
CREATE权限 - 撤回了所有用户在
public模式下的默认创建权限。
供给方式
原先Pigsty采用直接拷贝Grafana自带的grafana.db的方式完成监控系统的初始化。
这种方式虽然简单粗暴管用,但不适合进行精细化的版本控制管理。在v0.5中,Pigsty采用了Grafana API完成了监控系统面板供给的工作。
您所需的就是在grafana_url中填入带有用户名密码的Grafana URL。
因此,监控系统可以背方便地添加至已有的Grafana中。
v0.4.0
第二个公开测试版v0.4现已正式发行!
监控系统
Pigsty v0.4对监控系统进行了整体升级改造,精心挑选了10个面板作为标准的Pigsty开源内容。同时,针对Grafana 7.3的不兼容升级进行了大量适配改造工作。使用升级的pg_exporter v0.3.1作为默认指标导出器,调整了监控报警规则的监控面板连接。
Pigsty开源版
Pigsty开源版选定了以下10个Dashboard作为开源内容。其他Dashboard作为可选的商业支持内容提供。
- PG Overview
- PG Cluster
- PG Service
- PG Instance
- PG Database
- PG Query
- PG Table
- PG Table Catalog
- PG Table Detail
- Node
尽管进行了少量阉割,这10个监控面板所涵盖的内容仍然可以吊打所有同类软件。
软件升级
Pigsty v0.4进行了大量软件适配工作,包括:
- Upgrade to PostgreSQL 13.1, Patroni 2.0.1-4, add citus to repo.
- Upgrade to
pg_exporter 0.3.1 - Upgrade to Grafana 7.3, Ton’s of compatibility work
- Upgrade to prometheus 2.23, with new UI as default
- Upgrade to consul 1.9
其他改进
- Update prometheus alert rules
- Fix alertmanager info links
- Fix bugs and typos.
- add a simple backup script
离线安装包
- v0.4的离线安装包(CentOS 7.8)已经可以从Github下载:pkg.tgz
v0.3.0
首个Pigsty公开测试版本现在已经释出!
监控系统
Pigsty v0.3 包含以下8个监控面板作为开源内容:
- PG Overview
- PG Cluster
- PG Service
- PG Instance
- PG Database
- PG Table Overview
- PG Table Catalog
- Node
离线安装包
- v0.3 离线安装包(CentOS 7.8)已经可以从Github下载:pkg.tgz
2 - PIG 包管理器注记
pig 是一个开源的 PostgreSQL(和扩展)包管理器,支持 主流 Linux 发行版。
在 (amd64 / arm64) 上使用原生 apt/yum/dnf 安装 PostgreSQL 13~18 以及 437 个扩展。
最新稳定版本是 v0.7.4, 查看 GitHub 仓库 和 pig 文档 了解更多详情。
| 版本 | 日期 | 摘要 | GitHub |
|---|---|---|---|
| v0.8.0 | 2025-12-25 | 440 extensions,移除 sysupdate 仓库 | v0.8.0 |
| v0.7.4 | 2025-12-01 | 更新 ivory/pgtde 内核与 pgdg extras 仓库 | v0.7.4 |
| v0.7.3 | 2025-11-24 | 修复 el10 & debian13 仓库配置 | v0.7.3 |
| v0.7.2 | 2025-11-20 | 437 个扩展,修复 pig build 的一些问题 | v0.7.2 |
| v0.7.1 | 2025-11-10 | 新网站,改进容器内的使用体验 | v0.7.1 |
| v0.7.0 | 2025-11-05 | 强化 build 能力,大批量包更新 | v0.7.0 |
| v0.6.2 | 2025-10-03 | 正式提供 PG 18 支持 | v0.6.2 |
| v0.6.1 | 2025-08-14 | CI/CD, el10 存根, PGDG 中国镜像 | v0.6.1 |
| v0.6.0 | 2025-07-17 | 423 个扩展,percona pg_tde,mcp 工具箱 | v0.6.0 |
| v0.5.0 | 2025-06-30 | 422 个扩展,新的扩展目录 | v0.5.0 |
| v0.4.2 | 2025-05-27 | 421 个扩展,halo 和 oriole deb | v0.4.2 |
| v0.4.1 | 2025-05-07 | 414 个扩展,pg18 别名支持 | v0.4.1 |
| v0.4.0 | 2025-05-01 | do 和 pt 子命令,halo 和 orioledb | v0.4.0 |
| v0.3.4 | 2025-04-05 | 常规更新 | v0.3.4 |
| v0.3.3 | 2025-03-25 | 别名、仓库、依赖 | v0.3.3 |
| v0.3.2 | 2025-03-21 | 新扩展 | v0.3.2 |
| v0.3.1 | 2025-03-19 | 轻微错误修复 | v0.3.1 |
| v0.3.0 | 2025-02-24 | 新主页和扩展目录 | v0.3.0 |
| v0.2.2 | 2025-02-22 | 404 个扩展 | v0.2.2 |
| v0.2.0 | 2025-02-14 | 400 个扩展 | v0.2.0 |
| v0.1.4 | 2025-02-12 | 常规错误修复 | v0.1.4 |
| v0.1.3 | 2025-01-23 | 390 个扩展 | v0.1.3 |
| v0.1.2 | 2025-01-12 | anon 扩展和其他 350 个扩展 | v0.1.2 |
| v0.1.1 | 2025-01-09 | 更新扩展列表 | v0.1.1 |
| v0.1.0 | 2024-12-29 | repo、ext、sty 和自更新 | v0.1.0 |
| v0.0.1 | 2024-12-23 | 创世发布 | v0.0.1 |
v0.8.0
Extension Update
- 440 extensions
- new extension: pg_ai_query : 0.1.1
- new extension: pg_textsearch : 0.1.0
- new extension: pg_clickhouse : 0.1.0
- bump pg_bsicuit from 1.0 to 2.0.1 (switch to new repo, rename to biscuit)
- bump pg_search from 0.20.3 to 0.20.4
- bump pg_duckdb to the official 1.1.0 release
- bump pigsty version to 4.0.0
- remove pgdg yum sysupdate repo due to upstream change
- remove pgdg yum llvmjit packages due to upstream change
Checksums
v0.7.4
- 更新扩展版本与元数据:
pg_search,pgmq,pg_stat_monitor - 更新 PGDG 仓库 URL 变化,
extras仓库现在位于 yum 仓库顶层 - 将 ivorysql 更新至 5.0 版本,与 PG 18 兼容
- 将 Percona Postgres TDE 内核更新至 18.1
Checksums
5769b0051f04dcda22dd92b30b8effc8ddfa40097308bded76ce2b38d012ce57 pig-0.7.4-1.aarch64.rpm
d15c829fa2e3ce8dcd1adc063c107607b8e70f2cf747646aaa2fa257cdbf979c pig-0.7.4-1.x86_64.rpm
bb4c90e253a3d470e50316e633a41e90ed2d4a5c5a1fd3a8dbb68ee87d831d47 pig-v0.7.4.darwin-amd64.tar.gz
faaf7ac7b08390f5048c081bb7a78100714387e35dc890e26d9746fc1caef415 pig-v0.7.4.darwin-arm64.tar.gz
037cacddd0dc1283f13dd2c9bace87ad7f2c74ffc245e629f1420be94bbf93df pig-v0.7.4.linux-amd64.tar.gz
2ce819b2c3686cfb9f86790fdf61acd30bf7798bd6cd3c4f589df22e273dc867 pig-v0.7.4.linux-arm64.tar.gz
97f62d62f1cca61ce6d335efed88e3855d94ea2cd4ed941f2755fbac73931fcd pig_0.7.4-1_amd64.deb
d2b80af89ed42601716f6b41eda3f8bee16db34023527df9deef8a43aa25a498 pig_0.7.4-1_arm64.deb
v0.7.3
- 新增 pig repo reload 命令,更新仓库元数据
- 修复 EL PGDG sysupdate aarch64 仓库问题。
- 修复 EL10.aarch64 PGDG 仓库重命名问题。
- 订正了若干扩展版本
- 更新 Pigsty 版本至 3.7.0
校验和
786d72f6b685d6d6abf5f255f0a7de9204988a05630a26a53bfc7631823c0c6f pig-0.7.3-1.aarch64.rpm
da59e24ef79d1164e348bacc43e3222e8e2778ec0e103e7ffc0c6df064758e8f pig-0.7.3-1.x86_64.rpm
73062a979749095e89abc07dd583d34d4f57908bb4ee935cf7640f129ca6a2cb pig-v0.7.3.darwin-amd64.tar.gz
ca5f5576f6d0d9be1d10cad769821be9daa62220b2fb56b94d6e4c0cede6da61 pig-v0.7.3.darwin-arm64.tar.gz
d193b4b87cf9a6e4775b1b07709802d30f0233ccb1b728843a09decb545168d3 pig-v0.7.3.linux-amd64.tar.gz
e7f612df0e8e4d9fac6df3765862b9e491bb50aad651856abf7a6935986e6f99 pig-v0.7.3.linux-arm64.tar.gz
3d5306ce95dcf704dd498b05325d942637564b13115f1e5a5bb9ef6781df1ba6 pig_0.7.3-1_amd64.deb
32e695ba2d49a741d8cd92008f8f2dec29f10754d35b732035f48517b382c30d pig_0.7.3-1_arm64.deb
v0.7.2
批量更新扩展,数量达到 437 个
新增 PGDG EL10 Sysupdate 仓库
新增 LLVM APT 仓库
在 pig build 命令中使用可选的本地 extension.csv 扩展定义问题。
更新的扩展: vchord pg_later pgvectorscale pglite_fusion pgx_ulid pg_search citus timescaledb pg_profile pg_stat_monitor documentdb
新增的扩展:pglinter pg_typeid pg_enigma pg_retry pg_biscuit pg_weighted_statistics
校验和
f303c391fc28bc74832712e0aa58319abe0ebcae4f6c07fdf9a9e542b735d2ec pig-0.7.2-1.aarch64.rpm
c096a61a4e3a49b1238659664bbe2cd7f29954c43fb6bb8e8e9fb271f95a612e pig-0.7.2-1.x86_64.rpm
5e037c891dff23b46856485108d6f64bede5216dfbd4f38a481f0d0672ee910b pig-v0.7.2.darwin-amd64.tar.gz
736b4b47999c543c3c886781f4d8dddbf4276f363c35c7bf50094b6f18d14600 pig-v0.7.2.darwin-arm64.tar.gz
20b13f059efed29dd76f6927b3e8d7b597c0c8d734f9e22ba3d0a2af6dbcd3bf pig-v0.7.2.linux-amd64.tar.gz
9548b530c05f2ffdc8d73b8f890718d47b74a51eb62852a99c08b1b52e47f014 pig-v0.7.2.linux-arm64.tar.gz
b6faad9f92b926546a10f590274f2cb2afff21b9cea878094cfc5caf09e67d2c pig_0.7.2-1_amd64.deb
452f73f1fa035e5417ab49fc51d797925550179ffcc023e8f03d80144309212a pig_0.7.2-1_arm64.deb
v0.7.1
- 全新的网站: https://pgext.cloud
- 修复了不必要的 sudo 使用问题,现在可以方便的在容器中使用
- 允许 pig ext link 命令使用形如 pg17 pg18 的参数形式
- 新增环境变量
PIG_NO_SUDO,强制不使用 sudo 执行命令 - RPM 变更日志: 为几乎所有扩展新增 PG 18 支持
- DEB 变更日志: 为几乎所有扩展新增 PG 18 支持
- Infra 变更日志: 例行更新至最新版本
校验和
a696c9ec784e2fc248e5f3d87cc8aae4116e890f78c5997957d30593f2c85ca6 pig-0.7.1-1.aarch64.rpm
f669538a99cd1dc592d3005b949628fcceb9e78114fc78862d7726b340ee194d pig-0.7.1-1.x86_64.rpm
e42bdaaf93b720c5b76b32b57362320e4b447109740c76089aefe030b7c8b836 pig-v0.7.1.darwin-amd64.tar.gz
b4c240aadad34e785666ee0a755d9b7455724f790c2d088a1dd7c37ad3b2a457 pig-v0.7.1.darwin-arm64.tar.gz
ffc687add0ca71ac90cba5749c8a7a6075cf7618cba85584072831cf3eb182f7 pig-v0.7.1.linux-amd64.tar.gz
7b0d1f158150d0a40c525692f02b6bce9f5b4ac523a4e59278d702c334e222e1 pig-v0.7.1.linux-arm64.tar.gz
43e91a3bea273d7cacb2d7a58c0a5745501dbd06348b5cb3af971171fae70268 pig_0.7.1-1_amd64.deb
fc2a34aeb46e07cb0ae93611de47d6622c3bd46fe4c415ce4c9091840e0e08a2 pig_0.7.1-1_arm64.deb
v0.7.0
- 提供针对 Debian 13 和 EL 10 发行版的支持
- 大批量扩展更新至最新版本,带有 PostgreSQL 18 支持。
- 几乎所有 Rust 扩展现已通过 pgrx 0.16.1 支持 PG 18
pig build命令彻底重做pig build pkg <pkg>现在会一条龙完成扩展的下载,依赖安装,构建pig build pgrx命令现在从pig build rust中分离pig build pgrx [-v pgrx_version]现在可以直接使用现有的 PG 安装pig build dep现在会处理 EL 和 Debian 系统下的扩展依赖pig build ext命令现在有了更为紧凑和美观的输出,可在 EL 下不依赖 build 脚本直接构建 RPMpig build spec现在支持直接从Pigsty仓库下载 spec 文件包pig build repo/pig repo add/pig repo set现在默认使用node,pgsql,infra仓库模块,取代原本的node,pgdg,pigsty
- 大量优化了错误日志记录。
- 基于 hugo 与 hextra 全新目录网站
校验和
ad60f9abcde954769e46eb23de61965e pig_0.7.0-1_amd64.deb
aa15d7088d561528e38b2778fe8f7cf9 pig_0.7.0-1_arm64.deb
05549fe01008e04f8d5a59d4f2a5f0b8 pig-0.7.0-1.aarch64.rpm
0cc9e46c7c72d43c127a6ad115873b67 pig-0.7.0-1.x86_64.rpm
ddacfb052f3f3e5567a02e92fdb31cdd pig-v0.7.0.darwin-amd64.tar.gz
17d25b565308d3d35513e4b0d824946b pig-v0.7.0.darwin-arm64.tar.gz
ee7e055ceff638039956765fb747f80b pig-v0.7.0.linux-amd64.tar.gz
284e674807b87447d4b33691fd7a420d pig-v0.7.0.linux-arm64.tar.gz
v0.6.2
- 使用 PG 18 官方正式仓库取代原本的 Testing Beta 仓库 instead of testing repo
- 在接收 Pigsty 版本字符串的时候,自动添加
v前缀 - 改进了网络检查与下载的逻辑
校验和
01f5b7dc20644226c762dbb229768347 pig_0.6.2-1_amd64.deb
ce4f00256adc12cbea91467b7f2241cd pig_0.6.2-1_arm64.deb
cefc36ae8f348aede533b30836fba720 pig-0.6.2-1.aarch64.rpm
d04a287c6eb92b11ecbf99542c2db602 pig-0.6.2-1.x86_64.rpm
e637ca86a7f38866c67686b060223d9a pig-v0.6.2.darwin-amd64.tar.gz
79749bc69c683586bd8d761bdf6af98e pig-v0.6.2.darwin-arm64.tar.gz
ad4f02993c7d7d8eec142f0224551bb4 pig-v0.6.2.linux-amd64.tar.gz
9793affa4a0cb60e9753e65b7cba3dca pig-v0.6.2.linux-arm64.tar.gz
v0.6.1
- 新增 el10 与 debian 13 trixie 的支持存根
- 专门的新文档网站: https://pgext.cloud/pig
- 使用 go 1.25 重新构建,新增 CI/CD 管道
- 在中国大陆使用 PIGSTY PGDG 镜像
- 移除空的
pgdg-el10fix仓库 - 使用 Pigsty WiltonDB 镜像
- 修复 EL 10 专用的 EPEL 仓库
- pig version 输出构建环境信息
v0.6.0
- 新扩展目录:https://ext.pgsty.com
- 新子命令:
pig install简化pig ext install - 添加新内核支持:带 pg_tde 的 percona
- 添加新包:Google GenAI MCP 数据库工具箱
- 添加新仓库:percona 仓库和 clickhouse 仓库
- 将扩展摘要信息链接更改为 https://ext.pgsty.com
- 修复 orioledb 在 Debian/Ubuntu 系统上的问题
- 修复 EL 发行版上的 epel 仓库
- 将 golang 升级到 1.24.5
- 将 pigsty 升级到 v3.6.0
校验和
1804766d235b9267701a08f95903bc3b pig_0.6.0-1_amd64.deb
35f4efa35c1eaecdd12aa680d29eadcb pig_0.6.0-1_arm64.deb
b523b54d9f2d7dcc5999bcc6bd046b1d pig-0.6.0-1.aarch64.rpm
9434d9dca7fd9725ea574c5fae1a7f52 pig-0.6.0-1.x86_64.rpm
f635c12d9ad46a779aa7174552977d11 pig-v0.6.0.linux-amd64.tar.gz
165af4e63ec0031d303fe8b6c35c5732 pig-v0.6.0.linux-arm64.tar.gz
v0.5.0
- 将扩展列表更新至 422 个
- 新扩展:来自 AWS 的 pgactive
- 将 timescaledb 升级到 2.20.3
- 将 citus 升级到 13.1.0
- 将 vchord 升级到 0.4.3
- 修复错误:pgvectorscale debian/ubuntu pg17 失败
- 将 kubernetes 仓库升级到 1.33
- 将默认 pigsty 版本升级到 3.5.0
校验和
9ec6f3caf3edbe867caab5de0e0ccb33 pig_0.5.0-1_amd64.deb
4fbb0a42cd8a88bce50b3c9d85745d77 pig_0.5.0-1_arm64.deb
9cf8208396b068cab438f72c90d39efe pig-0.5.0-1.aarch64.rpm
d9a8d78c30f45e098b29c3d16471aa8d pig-0.5.0-1.x86_64.rpm
761df804ff7b83965c41492700717674 pig-v0.5.0.linux-amd64.tar.gz
5d1830069d98030728f08835f883ea39 pig-v0.5.0.linux-arm64.tar.gz
发布:https://github.com/pgsty/pig/releases/tag/v0.5.0
v0.4.2
- 将扩展列表更新至 421 个
- 为 Debian / Ubuntu 添加 openhalo/orioledb 支持
- pgdd 0.6.0 (pgrx 0.14.1)
- convert 0.0.4 (pgrx 0.14.1)
- pg_idkit 0.3.0 (pgrx 0.14.1)
- pg_tokenizer.rs 0.1.0 (pgrx 0.13.1)
- pg_render 0.1.2 (pgrx 0.12.8)
- pgx_ulid 0.2.0 (pgrx 0.12.7)
- pg_ivm 1.11.0 适用于 debian/ubuntu
- orioledb 1.4.0 beta11
- 重新添加 el7 仓库
校验和
bbf83fa3e3ec9a4dca82eeed921ae90a pig_0.4.2-1_amd64.deb
e45753335faf80a70d4f2ef1d3100d72 pig_0.4.2-1_arm64.deb
966d60bbc2025ba9cc53393011605f9f pig-0.4.2-1.aarch64.rpm
1f31f54da144f10039fa026b7b6e75ad pig-0.4.2-1.x86_64.rpm
1eec26c4e69b40921e209bcaa4fe257a pig-v0.4.2.linux-amd64.tar.gz
768d43441917a3625c462ce9f2b9d4ef pig-v0.4.2.linux-arm64.tar.gz
发布:https://github.com/pgsty/pig/releases/tag/v0.4.2
v0.4.1
- 将扩展列表更新至 414 个
- 在
pig ext scan映射中添加citus_wal2json和citus_pgoutput - 添加 PG 18 beta 仓库
- 添加 PG 18 包别名
发布:https://github.com/pgsty/pig/releases/tag/v0.4.1
v0.4.0
- 更新扩展列表,可用扩展达到 407 个
- 添加
pig do子命令用于执行 Pigsty playbook 任务 - 添加
pig pt子命令用于包装 Patroni 命令行工具 - 添加扩展别名:
openhalo和orioledb - 添加
gitlab-ce/gitlab-ee仓库区分 - 使用最新 Go 1.24.2 构建并升级依赖项版本
- 修复特定条件下
pig ext status的 panic 问题 - 修复
pig ext scan无法匹配多个扩展的问题
发布:https://github.com/pgsty/pig/releases/tag/v0.4.0
v0.3.4
curl https://repo.pigsty.io/pig | bash -s 0.3.4
- 常规扩展元数据更新
- 使用阿里云 epel 镜像代替损坏的清华大学 tuna 镜像
- 升级 pigsty 版本字符串
- 在仓库列表中添加
gitlab仓库
发布:https://github.com/pgsty/pig/releases/tag/v0.3.4
v0.3.3
- 添加
pig build dep命令安装扩展构建依赖项 - 更新默认仓库列表
- 为
mssql模块(wiltondb/babelfish)使用 pigsty.io 镜像 - 将 docker 模块合并到
infra - 从 el7 目标中移除 pg16/17
- 允许在 el7 中安装扩展
- 更新包别名
发布:https://github.com/pgsty/pig/releases/tag/v0.3.3
v0.3.2
增强功能
- 新扩展
- 使用
upx减少二进制大小 - 移除嵌入的 pigsty 以减少二进制大小
发布:https://github.com/pgsty/pig/releases/tag/v0.3.2
v0.3.1
常规错误修复
- 修复仓库格式字符串
- 修复扩展信息链接
- 更新 pg_mooncake 元数据
发布:https://github.com/pgsty/pig/releases/tag/v0.3.1
v0.3.0
pig 项目现在有了新的 主页,以及 PostgreSQL 扩展 目录。
发布:https://github.com/pgsty/pig/releases/tag/v0.3.0
v0.2.2
Pig v0.2.2 中提供 404 个扩展
发布:https://github.com/pgsty/pig/releases/tag/v0.2.2
v0.2.0
发布:https://github.com/pgsty/pig/releases/tag/v0.2.0
v0.1.4
发布:https://github.com/pgsty/pig/releases/tag/v0.1.4
v0.1.3
v0.1.3,常规更新,现在可用 390 个扩展!
发布:https://github.com/pgsty/pig/releases/tag/v0.1.3
v0.1.2
351 个 PostgreSQL 扩展,包括强大的 postgresql-anonymizer 2.0
发布:https://github.com/pgsty/pig/releases/tag/v0.1.2
v0.1.0
pig CLI v0.1 发布
发布:https://github.com/pgsty/pig/releases/tag/v0.1.0
v0.0.1
创世发布
发布:https://github.com/pgsty/pig/releases/tag/v0.0.1
3 - PG Exporter 发布
为 Prometheus 提供的高级 PostgreSQL 和 pgBouncer 指标 exporter
PG Exporter 通过声明式配置、动态规划和可定制收集器为您的 PostgreSQL 带来终极监控体验。 它提供 600+ 指标和每个实例约 3K 时间序列,涵盖 PostgreSQL 可观测性所需的一切。 查看 GitHub 仓库 了解更多详情。
pg_exporter 的最新稳定版本是 v1.0.2
| 版本 | 日期 | 摘要 | GitHub |
|---|---|---|---|
| v1.1.0 | 2025-12-25 | 批量修复指标收集器问题,收集更多配置参数 | v1.1.0 |
| v1.0.2 | 2025-08-14 | CI/CD 构建管道,使用 Go1.25, https://exp.pgsty.com | v1.0.2 |
| v1.0.1 | 2025-07-17 | DockerHub 镜像,Go 1.24.5,禁用 pg_tsdb_hypertable | v1.0.1 |
| v1.0.0 | 2025-05-06 | PostgreSQL 18 支持,新的 WAL/checkpointer/I/O 指标 | v1.0.0 |
| v0.9.0 | 2025-04-26 | TimescaleDB、Citus、pg_wait_sampling 收集器 | v0.9.0 |
| v0.8.1 | 2025-02-14 | 依赖项更新,docker 镜像标签 | v0.8.1 |
| v0.8.0 | 2025-02-14 | PgBouncer 1.24 支持,Go 1.24,日志重构 | v0.8.0 |
| v0.7.1 | 2024-08-13 | 常规更新,配置作为 Reader 支持 | v0.7.1 |
| v0.7.0 | 2024-08-13 | PostgreSQL 17 支持,谓词查询功能 | v0.7.0 |
| v0.6.0 | 2023-10-18 | PostgreSQL 16 支持,ARM64 包,安全修复 | v0.6.0 |
| v0.5.0 | 2022-04-28 | RPM/DEB 构建,列缩放,指标增强 | v0.5.0 |
| v0.4.1 | 2022-03-08 | 收集器更新,connect-timeout 参数 | v0.4.1 |
| v0.4.0 | 2021-07-12 | PostgreSQL 14 支持,自动发现功能 | v0.4.0 |
| v0.3.2 | 2021-02-01 | Shadow DSN 修复,文档更新 | v0.3.2 |
| v0.3.1 | 2020-12-04 | 旧版 PostgreSQL 版本的配置修复 | v0.3.1 |
| v0.3.0 | 2020-10-29 | PostgreSQL 13 支持,REST API,虚拟服务器 | v0.3.0 |
| v0.2.0 | 2020-03-21 | YUM 包,配置重载支持 | v0.2.0 |
| v0.1.2 | 2020-02-20 | 动态配置重载,批量模式 | v0.1.2 |
| v0.1.1 | 2020-01-10 | 启动挂起错误修复 | v0.1.1 |
| v0.1.0 | 2020-01-08 | 初始稳定版本 | v0.1.0 |
| v0.0.4 | 2019-12-20 | 生产测试版本 | v0.0.4 |
| v0.0.3 | 2019-12-14 | 生产环境测试 | v0.0.3 |
| v0.0.2 | 2019-12-09 | 早期测试版本 | v0.0.2 |
| v0.0.1 | 2019-12-06 | 带有 PgBouncer 模式的初始版本 | v0.0.1 |
v1.1.0
使用 Go 1.25.5 及最新依赖构建,采集器更新如下:
采集器变更:
pg_setting:针对 PG10-18 兼容性进行重构,支持missing_ok参数- 新增 13 个指标:
max_parallel_workers、max_parallel_workers_per_gather、max_parallel_maintenance_workers、shared_buffers、maintenance_work_mem、effective_cache_size、fsync、full_page_writes、autovacuum、autovacuum_max_workers、checkpoint_timeout、checkpoint_completion_target、hot_standby、synchronous_commit、io_method - 将
work_memory_size重命名为work_mem - 最低版本要求从 9.6 调整为 10,显式使用
::int类型转换
- 新增 13 个指标:
pg_size:修复日志目录大小检测逻辑,改用logging_collector参数判断,取代路径模式匹配pg_table:性能优化,将 LATERAL 子查询改为 JOIN 以提升查询性能;修复tuples和frozenxid指标类型(从 COUNTER 改为 GAUGE);超时时间从 1 秒延长至 2 秒pg_vacuuming:新增 PG17 采集器分支,增加indexes_total、indexes_processed、dead_tuple_bytes指标,用于追踪索引清理进度pg_query:超时时间从 1 秒延长至 2 秒,以适应高负载场景pg_io:修复reuses描述中的拼写错误(“in reused” → “is reused”)pg_checkpointer:修正 pg_checkpointer_10 描述信息(“9.4+” → “9.4-17”)pg_db_confl:修正 pg_db_confl_15 描述信息(“9.1 - 16” → “9.1 - 15”)- 修复
pg_db、pg_indexing、pg_clustering、pg_backup的格式对齐问题 - 感谢 @anayrat 修正发布年份 校验和
https://github.com/pgsty/pg_exporter/releases/download/v1.1.0/checksums.txt
v1.0.2
- 使用 Go 1.25 构建,更新依赖至最新版本。
- 新网站首页:https://exp.pgsty.com
- 使用 goreleaser 自动化构建,集成 GitHub Actions CI/CD
- 添加 windows amd64 构建目标
- 添加 linux ppc64le 构建目标
校验和
https://github.com/pgsty/pg_exporter/releases/download/v1.0.2/checksums.txt
v1.0.1
- 添加 dockerhub 镜像:pgsty/pg_exporter
- 将 go 依赖项升级到最新版本,使用 go 1.24.5 构建
- 默认禁用
pg_tsdb_hypertable收集器,因为timescaledb目录已更改。
校验和
d5e2d6a656eef0ae1b29cd49695f9773 pg_exporter-1.0.1-1.aarch64.rpm
cb01bb78d7b216a235363e9342803cb3 pg_exporter-1.0.1-1.x86_64.rpm
67093a756b04845f69ad333b6d458e81 pg_exporter-v1.0.1.darwin-amd64.tar.gz
2d3fdc10045d1cf494b9c1ee7f94f127 pg_exporter-v1.0.1.darwin-arm64.tar.gz
e242314461becfa99c3978ae72838ab0 pg_exporter-v1.0.1.linux-amd64.tar.gz
63de91da9ef711a53718bc60b89c82a6 pg_exporter-v1.0.1.linux-arm64.tar.gz
718f6afc004089f12c1ca6553f9b9ba5 pg-exporter_1.0.1_amd64.deb
57da7a8005cdf91ba8c1fb348e0d7367 pg-exporter_1.0.1_arm64.deb
https://github.com/pgsty/pg_exporter/releases/tag/v1.0.1
v1.0.0
添加 PostgreSQL 18 指标支持
- 新收集器分支
pg_wal_18: - 移除
write、sync、write_time、sync_time指标 - 移动到
pg_stat_io - 新收集器分支
pg_checkpointer_18: - 新指标
num_done - 新指标
slru_written - 新收集器分支
pg_db_18: - 新指标
parallel_workers_to_launch - 新指标
parallel_workers_launched - 新收集器分支
pg_table_18: table_parallel_workers_to_launchtable_parallel_workers_launched- 新收集器分支
pg_io_18: - 关于 WAL 统计的新系列
- 新指标
read_bytes - 新指标
write_bytes - 新指标
extend_bytes - 由于固定值移除
op_bytes - 新收集器分支
pg_vacuuming_18 - 新指标
delay_time
8637bc1a05b93eedfbfd3816cca468dd pg_exporter-1.0.0-1.aarch64.rpm
a28c4c0dcdd3bf412268a2dbff79f5b9 pg_exporter-1.0.0-1.x86_64.rpm
229129209b8e6bc356c28043c7c22359 pg_exporter-v1.0.0.darwin-amd64.tar.gz
d941c2c28301269e62a8853c93facf12 pg_exporter-v1.0.0.darwin-arm64.tar.gz
5bbb94db46cacca4075d4c341c54db37 pg_exporter-v1.0.0.linux-amd64.tar.gz
da9ad428a50546a507a542d808f1c0fa pg_exporter-v1.0.0.linux-arm64.tar.gz
0fa2395d9d7a43ab87e5c87e5b06ffcc pg-exporter_1.0.0_amd64.deb
fed56f8a37e30cc59e85f03c81fce3f5 pg-exporter_1.0.0_arm64.deb
https://github.com/pgsty/pg_exporter/releases/tag/v1.0.0
v0.9.0
默认收集器
- 为
timescaledbhypertable 新增指标收集器 - 为
citus分布节点新增指标收集器 - 为
pg_wait_sampling等待事件配置文件新增指标收集器 pg_slot全面改进:添加 16/17 pg_replication_slot 指标- 允许
pg_slot收集器在副本上运行(自 16/17) - 重构
pg_wait收集器以聚合所有进程 - 限制 pg_clustering、pg_indexing、pg_vacuuming 在主节点上运行
- 将所有
reset_time标记为GAUGE而不是COUNTER - 修复
pg_recovery_prefetch_skip_fpw类型从GAUGE到COUNTER - 修复
pg_recv.state类型从LABEL到GAUGE - 以紧凑模式格式化收集器
- 新的默认指标
pg_exporter_build_info/pgbouncer_exporter_build_info - 向
pg_meta收集器添加server_encoding - 向
pg_setting收集器添加 12 个新设置指标
- wal_block_size
- segment_size
- wal_segment_size
- wal_level
- wal_log_hints
- work_mem
- hugepage_count
- hugepage_status
- max_wal_size
- min_wal_size
- max_slot_wal_keep_size
Exporter 代码库
- 使用最小 pg 版本后缀规范化收集器分支名称
- 向二进制包添加许可证文件
- 将
pgsty/pg_exporter仓库移动到pgsty/pg_exporter - 重构
server.go以减少Compatible和PostgresPrecheck复杂性 - 使用额外的数字前缀重命名指标收集器以更好地排序
- 将依赖项升级到最新版本
- 在所有非致命收集器之前执行致命收集器,并快速失败
https://github.com/pgsty/pg_exporter/releases/tag/v0.9.0
v0.8.1
- 将依赖项升级到最新版本
- 将 golang.org/x/net 从 0.35.0 升级到 0.36.0 #67
- 更新 docker 镜像构建标签
https://github.com/pgsty/pg_exporter/releases/tag/v0.8.1
v0.8.0
- 添加 PgBouncer 1.24 新指标支持(stat、pool、database)
- 修复:如果日志目录设置不当,
310-pg_size.yml失败 #64 由 @Süleyman Vurucu 提供 - 使用最新的 Go 1.24 构建并升级所有依赖项
- 使用标准
log/slog而不是go-kit重构日志记录 - 完整变更日志:https://github.com/pgsty/pg_exporter/compare/v0.7.1…v0.8.0
https://github.com/pgsty/pg_exporter/releases/tag/v0.8.0
v0.7.1
使用 dependabot 进行常规更新
- 功能:支持将配置指定为 Reader,由 @ringerc 在 #62 中提供
- 将 golang.org/x/crypto 从 0.21.0 升级到 0.31.0,由 @dependabot 在 #63 中提供
- 修复一些拼写错误
- 完整变更日志:https://github.com/pgsty/pg_exporter/compare/v0.7.0…v0.7.1
https://github.com/pgsty/pg_exporter/releases/tag/v0.7.1
v0.7.0
为最新的 go 版本重构代码库。
- PostgreSQL 17 指标支持 由 @Vonng 提供
- pg_exporter:谓词查询功能 由 @ringerc 提供
- 在 dockerfile 中进行清洁构建 由 @ringerc 提供
- pg_exporter:在"bind: address already in use"后不要 panic 由 @ringerc 提供
- pg_exporter:修复 /stat 端点格式 由 @ringerc 提供
- pg_exporter:在 yaml 导出时省略默认查询属性 由 @ringerc 提供
- 从发现中排除模板数据库并模式限定发现查询 由 @ringerc 提供
- 修复一些拼写错误和一些指标描述错误 由 @ringerc 提供
- 从无维护的 lib/pq 驱动程序切换到带有 stdlib 包装器的 pgx 由 @ringerc 提供
https://github.com/pgsty/pg_exporter/releases/tag/v0.7.0
v0.6.0
安全增强:修复 安全 dependent-bot 问题
添加 pg16 收集器
添加
arm64和aarch64包移除
pg_query收集器的monitor模式要求(您必须通过 search_path 确保这一点,或者只是在默认的public模式中安装pg_stat_statements)将 pgbouncer 版本解析消息级别从 info 修复为 debug
修复
pg_table_10_12收集器缺少relid问题。
https://github.com/pgsty/pg_exporter/releases/tag/v0.6.0
v0.5.0
Exporter 增强
- 使用
nfpm构建 rpm 和 deb - 添加
column.default,当指标值为 NULL 时替换 - 添加
column.scale,当指标值为 float/int 时乘以缩放因子(例如 µs 到秒) - 修复
/stat端点输出 - 添加 docker 容器
pgsty/pg_exporter
指标收集器
- 将 bgwriter 和 pg_wal 时间单位缩放为秒
- 移除 pg_class 收集器并将其移动到 pg_table 和 pg_inex
- 向 pg_table 添加 pg_class 指标
- 向 pg_index 添加 pg_class 指标
- 默认启用 pg_table_size
- 将 pg_query pg_db pg_bgwriter pg_ssl pgbouncer_stat 时间指标缩放为秒
https://github.com/pgsty/pg_exporter/releases/tag/v0.5.0
v0.4.1
- 更新默认收集器
- 在对象监控中省略 citus 和 timescaledb 模式
- 避免重复的 pg_statio 元组
- 支持 pgbouncer v1.16
- 错误修复:
pg_repl收集器在 pg 12 上重叠
- 新参数:
-Tconnect-timeoutPG_EXPORTER_CONNECT_TIMEOUT这在监控远程 Postgres 实例时很有用。 - 现在在 rpm 包中
pg_exporter.yaml重命名为pg_exporter.yml。
https://github.com/pgsty/pg_exporter/releases/tag/v0.4.1
v0.4.0
- 添加 PG 14 支持
- 默认指标配置全面改进。(但您仍然可以使用旧配置)
- 添加
auto-discovery、include-database和exclude-database选项 - 添加多数据库监控实现(使用
auto-discovery = on)
https://github.com/pgsty/pg_exporter/releases/tag/v0.4.0
v0.3.2
- 修复 shadow DSN 边界情况
- 修复拼写错误和文档
https://github.com/pgsty/pg_exporter/releases/tag/v0.3.2
v0.3.1
修复默认配置问题(特别是对于低于 13 的版本)
- 设置
primary_conninfo直到 PG13 才存在 - 向
pg_func收集器添加funcid标签以避免函数名重复标签 - 将版本字符串修复为
pg_exporter
https://github.com/pgsty/pg_exporter/releases/tag/v0.3.1
v0.3.0
https://github.com/pgsty/pg_exporter/releases/tag/v0.3.0
- 更改默认配置,支持 PostgreSQL 13 新指标(
pg_slru、pg_shmem、pg_query13、pg_backup等…) - 添加一系列新的 REST API 用于健康/恢复状态检查
- 添加一个虚拟服务器,提供假的
pg_up 0指标,在 PgExporter 初始化之前提供服务。 - 如果未给出
sslmode,则向 URL 添加sslmode=disable - 修复拼写错误和错误
v0.2.0
- 添加 yum 包和 linux 服务定义
- 向查询配置添加 ‘skip’ 标志
- 修复
pgbouncer_up指标 - 添加配置重载支持
https://github.com/pgsty/pg_exporter/releases/tag/v0.2.0
v0.1.2
- 修复 pgbouncer_up 指标
- 添加动态配置重载
- 移除 ‘shard’ 相关逻辑
- 向默认设置添加 ‘bulky’ 模式
https://github.com/pgsty/pg_exporter/releases/tag/v0.1.2
v0.1.1
修复 pg_exporter 在启动期间如果任何查询失败会挂起的错误。
https://github.com/pgsty/pg_exporter/releases/tag/v0.1.1
v0.1.0
它工作,看起来不错。
https://github.com/pgsty/pg_exporter/releases/tag/v0.1.0
v0.0.4
在真实的生产环境中测试了约 2 周,有 200+ 个节点。看起来不错!
https://github.com/pgsty/pg_exporter/releases/tag/v0.0.4
v0.0.3
v0.0.3 发布,在生产环境中测试
此版本已在生产环境中测试。
这个项目仍在快速发展中,我想说如果您想在生产中使用它,请谨慎尝试。
https://github.com/pgsty/pg_exporter/releases/tag/v0.0.3
v0.0.2
现在可以尝试了
https://github.com/pgsty/pg_exporter/releases/tag/v0.0.2
v0.0.1
添加 pgbouncer 模式
4 - INFRA 发布日志
查看 pgsty/infra-pkg 仓库的构建规范和 pigsty-infra 的使用方法
# pig
curl https://repo.pigsty.io/pig | bash # 下载并安装 pig CLI 工具
pig repo add infra -u # 添加 pigsty-pgsql 仓库并更新缓存
2025-12-25
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| pig | 0.8.0 | 0.8.1 | routine update |
| uv | - | 0.9.18 | python pkg manager |
| ccm | - | 2.0.76 | claude utils |
| IvorySQL | 5.0 | 5.1 | |
| asciinema | 3.1 |
2025-12-16
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| victoria-metrics | 1.131.0 | 1.132.0 | |
| victoria-logs | 1.40.0 | 1.41.0 | |
| blackbox_exporter | 0.27.0 | 0.28.0 | |
| duckdb | 1.4.2 | 1.4.3 | |
| rclone | 1.72.0 | 1.72.1 | |
| pev2 | 1.17.0 | 1.19.0 | |
| pg_exporrter | 1.0.3 | 1.1.0 | |
| pig | 0.7.4 | 0.8.0 | |
| rclone | 1.72.0 | 1.72.1 | |
| genai-toolbox | 0.22.0 | 0.23.0 | |
| minio | 20250907161309 | 20251203120000 | by pgsty |
2025-12-04
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| rustfs | - | 1.0.0-a71 | new |
| seaweedfs | - | 4.1.0 | new |
| garage | - | 2.1.0 | new |
| rclone | 1.71.2 | 1.72.0 | |
| vector | 0.51.0 | 0.51.1 | |
| prometheus | 3.7.3 | 3.8.0 | |
| victoria-metrics | 0.130.0 | 0.131.0 | |
| victoria-logs | 0.38.0 | 0.40.0 | |
| victoria-traces | - | 0.5.1 | new |
| grafana-victorialogs-ds | 0.22.1 | 0.22.4 | |
| redis_exporter | 1.80.0 | 1.80.1 | |
| mongodb_exporter | 0.47.1 | 0.47.2 | |
| genai-toolbox | 0.21.0 | 0.22.0 |
2025-11-23
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| pgschema | - | 1.4.2 | new |
| pgflo | - | 0.0.15 | new |
| vector | 0.51.0 | 0.51.1 | bugfix release |
| sealos | 5.0.1 | 5.1.1 | |
| etcd | 3.6.5 | 3.6.6 | |
| duckdb | 1.4.1 | 1.4.2 | |
| pg_exporter | 1.0.2 | 1.0.3 | |
| pig | 0.7.1 | 0.7.2 | |
| grafana | 12.1.0 | 12.3.0 | |
| pg_timetable | 6.1.0 | 6.2.0 | |
| genai-toolbox | 0.16.0 | 0.21.0 | |
| timescaledb-tools | 0.18.0 | 0.18.1 | move to infra |
| timescaledb-event-streamer | 0.12.0 | 0.20.0 | |
| tigerbeetle | 0.16.60 | 0.16.65 | |
| victoria-metrics | 1.129.1 | 1.130.0 | |
| victorialogs | 1.37.2 | 1.38.0 | |
| grafana-victorialogs-ds | 0.21.4 | 0.22.1 | |
| grafana-victoriametrics-ds | 0.19.6 | 0.19.7 | |
| grafana-plugins | 12.0.0 | 12.3.0 |
2025-11-11
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| grafana | 12.1.0 | 12.2.1 | 下载地址发生变化 |
| prometheus | 3.6.0 | 3.7.3 | |
| pushgateway | 1.11.1 | 1.11.2 | |
| alertmanager | 0.28.1 | 0.29.0 | |
| nginx_exporter | 1.5.0 | 1.5.1 | |
| node_exporter | 1.9.1 | 1.10.2 | |
| pgbackrest_exporter | 0.20.0 | 0.21.0 | |
| redis_exporter | 1.77.0 | 1.80.0 | |
| duckdb | 1.4.0 | 1.4.1 | |
| dblab | 0.33.0 | 0.34.2 | |
| pg_timetable | 5.13.0 | 6.1.0 | |
| vector | 0.50.0 | 0.51.0 | |
| rclone | 1.71.1 | 1.71.2 | |
| victoria-metrics | 1.126.0 | 1.129.1 | |
| victoria-logs | 1.35.0 | 1.37.2 | |
| grafana-victorialogs-ds | 0.21.0 | 0.21.4 | |
| grafana-victoriametrics-ds | 0.19.4 | 0.19.6 | |
| grafana-infinity-ds | 3.5.0 | 3.6.0 | |
| genai-toolbox | 0.16.0 | 0.18.0 | |
| pev2 | 1.16.0 | 1.17.0 | |
| pig | 0.6.2 | 0.7.1 |
2025-10-18
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| prometheus | 3.5.0 | 3.6.0 | |
| nginx_exporter | 1.4.2 | 1.5.0 | |
| mysqld_exporter | 0.17.2 | 0.18.0 | |
| redis_exporter | 1.75.0 | 1.77.0 | |
| mongodb_exporter | 0.47.0 | 0.47.1 | |
| victoria-metrics | 1.121.0 | 1.126.0 | |
| vicotira-logs | 1.25.1 | 1.35.0 | |
| duckdb | 1.3.2 | 1.4.0 | |
| etcd | 3.6.4 | 3.6.5 | |
| restic | 0.18.0 | 0.18.1 | |
| tigerbeetle | 0.16.54 | 0.16.60 | |
| grafana-victorialogs-ds | 0.19.3 | 0.21.0 | |
| grafana-victoriametrics-ds | 0.18.3 | 0.19.4 | |
| grafana-infinity-ds | 3.3.0 | 3.5.0 | |
| genai-toolbox | 0.9.0 | 0.16.0 | |
| grafana | 12.1.0 | 12.2.0 | |
| vector | 0.49.0 | 0.50.0 | |
| rclone | 1.70.3 | 1.71.1 | |
| minio | 20250723155402 | 20250907161309 | |
| mcli | 20250721052808 | 20250813083541 |
2025-08-15
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| grafana | 12.0.0 | 12.1.0 | |
| pg_exporter | 1.0.1 | 1.0.2 | |
| pig | 0.6.0 | 0.6.1 | |
| vector | 0.48.0 | 0.49.0 | |
| redis_exporter | 1.74.0 | 1.75.0 | |
| mongo_exporter | 0.46.0 | 0.47.0 | |
| victoriametrics | 1.121.0 | 1.123.0 | |
| victorialogs: | 1.25.0 | 1.28.0 | |
| grafana-victoriametrics-ds | 0.17.0 | 0.18.3 | |
| grafana-victorialogs-ds | 0.18.3 | 0.19.3 | |
| grafana-infinity-ds | 3.3.0 | 3.4.1 | |
| etcd | 3.6.1 | 3.6.4 | |
| ferretdb | 2.3.1 | 2.5.0 | |
| tigerbeetle | 0.16.50 | 0.16.54 | |
| genai-toolbox | 0.9.0 | 0.12.0 |
2025-07-24
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| FerretDB | - | 2.4.0 | 与 documentdb 1.105 配合 |
| etcd | - | 3.6.3 | |
| minio | - | 20250723155402 | |
| mcli | - | 20250721052808 | |
| ivorysql | - | 4.5-0ffca11-20250709 | 修复 libxcrypt 依赖问题 |
2025-07-16
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| genai-toolbox | 0.8.0 | 0.9.0 | 各种 DBMS 的 MCP 工具箱 |
| victoriametrics | 1.120.0 | 1.121.0 | 拆分为各种包 |
| victorialogs | 1.24.0 | 1.25.0 | 拆分为各种包 |
| prometheus | 3.4.2 | 3.5.0 | |
| duckdb | 1.3.1 | 1.3.2 | |
| etcd | 3.6.1 | 3.6.2 | |
| tigerbeetle | 0.16.48 | 0.16.50 | |
| grafana-victoriametrics-ds | 0.16.0 | 0.17.0 | |
| rclone | 1.69.3 | 1.70.3 | |
| pig | 0.5.0 | 0.6.0 | |
| pev2 | 1.15.0 | 1.16.0 | |
| pg_exporter | 1.0.0 | 1.0.1 |
2025-07-04
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| prometheus | 3.4.1 | 3.4.2 | - |
| grafana | 12.0.1 | 12.0.2 | - |
| vector | 0.47.0 | 0.48.0 | - |
| rclone | 1.69.0 | 1.70.2 | - |
| vip-manager | 3.0.0 | 4.0.0 | - |
| blackbox_exporter | 0.26.0 | 0.27.0 | - |
| redis_exporter | 1.72.1 | 1.74.0 | - |
| duckdb | 1.3.0 | 1.3.1 | - |
| etcd | 3.6.0 | 3.6.1 | - |
| ferretdb | 2.2.0 | 2.3.1 | - |
| dblab | 0.32.0 | 0.33.0 | - |
| tigerbettle | 0.16.41 | 0.16.48 | - |
| grafana-victorialogs-ds | 0.16.3 | 0.18.1 | - |
| grafana-victoriametrics-ds | 0.15.1 | 0.16.0 | - |
| grafana-inifinity-ds | 3.2.1 | 3.3.0 | - |
| victorialogs | 1.22.2 | 1.24.0 | - |
| victoriametrics | 1.117.1 | 1.120.0 | - |
2025-06-01
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| grafana | - | 12.0.1 | - |
| prometheus | - | 3.4.1 | - |
| keepalived_exporter | - | 1.7.0 | - |
| redis_exporter | - | 1.73.0 | - |
| victoriametrics | - | 1.118.0 | - |
| victorialogs | - | 1.23.1 | - |
| tigerbeetle | - | 0.16.42 | - |
| grafana-victorialogs-ds | - | 0.17.0 | - |
| grafana-infinity-ds | - | 3.2.2 | - |
2025-05-22
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| dblab | - | 0.32.0 | - |
| prometheus | - | 3.4.0 | - |
| duckdb | - | 1.3.0 | - |
| etcd | - | 3.6.0 | - |
| pg_exporter | - | 1.0.0 | - |
| ferretdb | - | 2.2.0 | - |
| rclone | - | 1.69.3 | - |
| minio | - | 20250422221226 | 最后一个带管理 GUI 的版本 |
| mcli | - | 20250416181326 | - |
| nginx_exporter | - | 1.4.2 | - |
| keepalived_exporter | - | 1.6.2 | - |
| pgbackrest_exporter | - | 0.20.0 | - |
| redis_exporter | - | 1.27.1 | - |
| victoriametrics | - | 1.117.1 | - |
| victorialogs | - | 1.22.2 | - |
| pg_timetable | - | 5.13.0 | - |
| tigerbeetle | - | 0.16.41 | - |
| pev2 | - | 1.15.0 | - |
| grafana | - | 12.0.0 | - |
| grafana-victorialogs-ds | - | 0.16.3 | - |
| grafana-victoriametrics-ds | - | 0.15.1 | - |
| grafana-infinity-ds | - | 3.2.1 | - |
| grafana_plugins | - | 12.0.0 | - |
2025-04-23
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| mtail | - | 3.0.8 | 新 |
| pig | - | 0.4.0 | - |
| pg_exporter | - | 0.9.0 | - |
| prometheus | - | 3.3.0 | - |
| pushgateway | - | 1.11.1 | - |
| keepalived_exporter | - | 1.6.0 | - |
| redis_exporter | - | 1.70.0 | - |
| victoriametrics | - | 1.115.0 | - |
| victoria_logs | - | 1.20.0 | - |
| duckdb | - | 1.2.2 | - |
| pg_timetable | - | 5.12.0 | - |
| vector | - | 0.46.1 | - |
| minio | - | 20250422221226 | - |
| mcli | - | 20250416181326 | - |
2025-04-05
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| pig | - | 0.3.4 | - |
| etcd | - | 3.5.21 | - |
| restic | - | 0.18.0 | - |
| ferretdb | - | 2.1.0 | - |
| tigerbeetle | - | 0.16.34 | - |
| pg_exporter | - | 0.8.1 | - |
| node_exporter | - | 1.9.1 | - |
| grafana | - | 11.6.0 | - |
| zfs_exporter | - | 3.8.1 | - |
| mongodb_exporter | - | 0.44.0 | - |
| victoriametrics | - | 1.114.0 | - |
| minio | - | 20250403145628 | - |
| mcli | - | 20250403170756 | - |
2025-03-23
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| etcd | - | 3.5.20 | - |
| pgbackrest_exporter | - | 0.19.0 | 重新构建 |
| victorialogs | - | 1.17.0 | - |
| vslogcli | - | 1.17.0 | - |
2025-03-17
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| kafka | - | 4.0.0 | - |
| Prometheus | - | 3.2.1 | - |
| AlertManager | - | 0.28.1 | - |
| blackbox_exporter | - | 0.26.0 | - |
| node_exporter | - | 1.9.0 | - |
| mysqld_exporter | - | 0.17.2 | - |
| kafka_exporter | - | 1.9.0 | - |
| redis_exporter | - | 1.69.0 | - |
| DuckDB | - | 1.2.1 | - |
| etcd | - | 3.5.19 | - |
| FerretDB | - | 2.0.0 | - |
| tigerbeetle | - | 0.16.31 | - |
| vector | - | 0.45.0 | - |
| VictoriaMetrics | - | 1.114.0 | - |
| VictoriaLogs | - | 1.16.0 | - |
| rclone | - | 1.69.1 | - |
| pev2 | - | 1.14.0 | - |
| grafana-victorialogs-ds | - | 0.16.0 | - |
| grafana-victoriametrics-ds | - | 0.14.0 | - |
| grafana-infinity-ds | - | 3.0.0 | - |
| timescaledb-event-streamer | - | 0.12.0 | 新 |
| restic | - | 0.17.3 | 新 |
| juicefs | - | 1.2.3 | 新 |
2025-02-12
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| pushgateway | 1.10.0 | 1.11.0 | - |
| alertmanager | 0.27.0 | 0.28.0 | - |
| nginx_exporter | 1.4.0 | 1.4.1 | - |
| pgbackrest_exporter | 0.18.0 | 0.19.0 | - |
| redis_exporter | 1.66.0 | 1.67.0 | - |
| mongodb_exporter | 0.43.0 | 0.43.1 | - |
| VictoriaMetrics | 1.107.0 | 1.111.0 | - |
| VictoriaLogs | v1.3.2 | 1.9.1 | - |
| DuckDB | 1.1.3 | 1.2.0 | - |
| Etcd | 3.5.17 | 3.5.18 | - |
| pg_timetable | 5.10.0 | 5.11.0 | - |
| FerretDB | 1.24.0 | 2.0.0 | - |
| tigerbeetle | 0.16.13 | 0.16.27 | - |
| grafana | 11.4.0 | 11.5.1 | - |
| vector | 0.43.1 | 0.44.0 | - |
| minio | 20241218131544 | 20250207232109 | - |
| mcli | 20241121172154 | 20250208191421 | - |
| rclone | 1.68.2 | 1.69.0 | - |
2024-11-19
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| Prometheus | 2.54.0 | 3.0.0 | - |
| VictoriaMetrics | 1.102.1 | 1.106.1 | - |
| VictoriaLogs | v0.28.0 | 1.0.0 | - |
| MySQL Exporter | 0.15.1 | 0.16.0 | - |
| Redis Exporter | 1.62.0 | 1.66.0 | - |
| MongoDB Exporter | 0.41.2 | 0.42.0 | - |
| Keepalived Exporter | 1.3.3 | 1.4.0 | - |
| DuckDB | 1.1.2 | 1.1.3 | - |
| etcd | 3.5.16 | 3.5.17 | - |
| tigerbeetle | 16.8 | 0.16.13 | - |
| grafana | - | 11.3.0 | - |
| vector | - | 0.42.0 | - |
5 - RPM 发布日志
查看 pgsty/rpm 仓库的构建规范和 pigsty-pgsql 的使用方法
# pig
curl https://repo.pigsty.io/pig | bash # 下载并安装 pig CLI 工具
pig repo add all pigsty -u # 添加 pigsty-pgsql 仓库并更新缓存
# yum
# 将 Pigsty 的 GPG 公钥添加到您的系统密钥链以验证包签名
curl -fsSL https://repo.pigsty.io/key | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty >/dev/null
# 将 Pigsty 仓库定义文件添加到 /etc/yum.repos.d/ 目录,包括两个仓库
sudo tee /etc/yum.repos.d/pigsty-pgsql.repo > /dev/null <<-'EOF'
[pigsty-pgsql]
name=Pigsty PGSQL For el$releasever.$basearch
baseurl=https://repo.pigsty.io/yum/pgsql/el$releasever.$basearch
skip_if_unavailable = 1
enabled = 1
priority = 1
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty
module_hotfixes=1
EOF
# 刷新 YUM/DNF 仓库缓存
sudo yum makecache;
2025-12-25
| Name | Old | New | Comment |
|---|---|---|---|
| pg_duckdb | 1.1.0 | 1.1.1 | |
| pg_search | 0.20.4 | 0.20.5 | |
| vchord_bm25 | 0.2.2 | 0.3.0 | |
| pg_semver | 0.40.0 | 0.41.0 | |
| pg_timeseries | 0.1.7 | 0.1.8 |
2025-12-16
| Name | Old | New | Comment |
|---|---|---|---|
| pg_textsearch | - | 0.1.0 | new |
| pg_clickhouse | - | 0.1.0 | new |
| pg_ai_query | - | 0.1.1 | new |
| timescaledb | 2.23.1 | 2.24.0 | |
| pg_search | 0.20.0 | 0.20.4 | |
| pg_duckdb | 1.1.0-1 | 1.1.0-2 | official release |
| pg_biscuit | 1.0 | 2.0.1 | new repo |
| pg_convert | 0.0.4 | 0.0.5 | rm pg13 |
| pgdd | 0.6.0 | 0.6.1 | rm pg13 |
| pglinter | 1.0.0 | 1.0.1 | |
| pg_session_jwt | 0.3.3 | 0.4.0 | |
| pg_anon | 2.4.1 | 2.5.1 | |
| pg_enigma | 0.4.0 | 0.5.0 | |
| wrappers | 0.5.6 | 0.5.7 | |
| pg_vectorize | 0.25.0 | 0.26.0 | |
| synchdb | - | 1.3 | EL9 only |
2025-11-20
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| vchord | 0.5.3 | 1.0.0 | |
| pg_later | 0.3.1 | 0.4.0 | |
| pgvectorscale | 0.8.0 | 0.9.0 | -pg13, +pg18 |
| pglite_fusion | 0.0.5 | 0.0.6 | |
| pgx_ulid | 0.2.1 | 0.2.2 | |
| pg_search | 0.19.5 | 0.19.7 | resume PIGSTY building |
| citus | 13.2.0 | 13.2.0 | official tag |
| timescaledb | 2.23.0 | 2.23.1 | |
| pg_profile | 4.10 | 4.11 | |
| pglinter | 1.0.0 | new | |
| pg_typeid | 0.3.0 | head with pg18 support | |
| pg_enigma | 0.4.0 | vonng patched pgrx version | |
| pg_retry | 1.0.0 | new, pg17-18 | |
| pg_biscuit | 1.0 | new, pg16-18 | |
| pg_weighted_statistics | 1.0.0 | new, pg13-18 | |
| pg_stat_monitor | 2.2.0 | 2.3.0 | fix PGDG pg18 missing |
| documentdb | 0.106 | 0.107 | ferretdb fork |
| PolarDB | 15.15 | 15.15.5.0-38948055 |
2025-11-10
为几乎所有扩展添加 PostgreSQL 18 支持
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| omni_csv | - | 0.1.1 | new |
| omni_datasets | - | 0.1.0 | new |
| omni_shmem | - | 0.1.0 | new |
| pg_csv | - | 1.0.1 | new |
| pg_dbms_errlog | - | 2.2 | new |
| pg_rrule | - | 0.2.0 | new |
| plxslt | - | 0.20140221 | new |
| anon | 2.3.0 | 2.4.1 | +pg18 |
| collection | 1.0.0 | 1.1.0 | +pg18 |
| credcheck | 3.0 | 4.2 | +pg18 |
| emaj | 4.7.0 | 4.7.1 | +pg18 |
| explain_ui | 0.0.1 | 0.0.2 | +pg18 |
| firebird_fdw | 1.4.0 | 1.4.1 | +pg18 |
| logerrors | 2.1.3 | 2.1.5 | +pg18 |
| multicorn | 3.0 | 3.2 | +pg18 |
| omni | 0.2.9 | 0.2.14 | +pg18 |
| omni_email | 0 | 0.1.0 | +pg18 |
| omni_httpc | 0.1.5 | 0.1.10 | +pg18 |
| omni_httpd | 0.4.6 | 0.4.11 | +pg18 |
| omni_id | 0.4.2 | 0.4.3 | +pg18 |
| omni_kube | 0.1.1 | 0.4.2 | +pg18 |
| omni_ledger | 0.1.2 | 0.1.3 | +pg18 |
| omni_sql | 0.5.1 | 0.5.3 | +pg18 |
| omni_sqlite | 0.1.2 | 0.2.2 | +pg18 |
| omni_types | 0.3.4 | 0.3.6 | +pg18 |
| omni_vfs | 0.2.1 | 0.2.2 | +pg18 |
| omni_worker | 0.1.0 | 0.2.1 | +pg18 |
| periods | 1.2.2 | 1.2.3 | +pg18 |
| pg_bestmatch | 0.0.1 | 0.0.2 | +pg18 |
| pg_cardano | 1.0.5 | 1.1.1 | +pg18 |
| pg_checksums | 1.1 | 1.3 | +pg18 |
| pg_duckdb | 0.3.1 | 1.1.0 | +pg18 |
| pg_failover_slots | 1.1.0 | 1.2.0 | +pg18 |
| pg_graphql | 1.5.11 | 1.5.12 | +pg18 |
| pg_idkit | 0.3.1 | 0.4.0 | +pg18 |
| pg_later | 0.3.0 | 0.3.1 | +pg18 |
| pg_mooncake | 0.1.2 | 0.2.0 | +pg18 |
| pg_net | 0.9.2 | 0.20.0 | +pg18 |
| pg_parquet | 0.4.3 | 0.5.1 | +pg18 |
| pg_render | 0.1.2 | 0.1.3 | +pg18 |
| pg_session_jwt | 0.3.1 | 0.3.3 | +pg18 |
| pg_smtp_client | 0.2.0 | 0.2.1 | +pg18 |
| pg_sphere | 1.5.1 | 1.5.2 | +pg18 |
| pg_statement_rollback | 1.4 | 1.5 | +pg18 |
| pg_store_plans | 1.8 | 1.9 | +pg18 |
| pg_tle | 1.5.1 | 1.5.2 | +pg18 |
| pg_tokenizer | 0.1.0 | 0.1.1 | +pg18 |
| pg_uuidv7 | 1.6.0 | 1.7.0 | +pg18 |
| pgactive | 2.1.6 | 2.1.7 | +pg18 |
| pglogical | 2.4.5 | 2.4.6 | +pg18 |
| pglogical_origin | 2.4.5 | 2.4.6 | +pg18 |
| pgmq | 1.5.1 | 1.7.0 | +pg18 |
| pgsmcrypto | 0.1.0 | 0.1.1 | +pg18 |
| pgx_ulid | 0.2.0 | 0.2.1 | +pg18 |
| pldbgapi | 1.8 | 1.9 | +pg18 |
| pljava | 1.6.8 | 1.6.10 | +pg18 |
| plprql | 1.0.0 | 18.0.0 | +pg18 |
| roaringbitmap | 0.5.4 | 0.5.5 | +pg18 |
| semver | 0.32.1 | 0.40.0 | +pg18 |
| supautils | 2.10.0 | 3.0.2 | +pg18 |
| tds_fdw | 2.0.4 | 2.0.5 | +pg18 |
| timescaledb | 2.22.0 | 2.23.0 | +pg18 |
| timescaledb_toolkit | 1.21.0 | 1.22.0 | +pg18 |
| timeseries | 0.1.6 | 0.1.7 | +pg18 |
| tzf | 0.2.2 | 0.2.3 | +pg18 |
| vchord | 0.5.1 | 0.5.3 | +pg18 |
| vchord_bm25 | 0.2.1 | 0.2.2 | +pg18 |
| vectorize | 0.22.2 | 0.25.0 | +pg18 |
| wrappers | 0.5.4 | 0.5.6 | +pg18 |
| gzip | 1.0.1 | 1.0.0 | +pg18 |
| hypopg | 1.4.1 | 1.4.2 | +pg18 |
| mobilitydb | 1.2.0 | 1.3.0 | +pg18 |
| mongo_fdw | 5.5.1 | 5.5.3 | +pg18 |
| orafce | 4.14.4 | 4.14.6 | +pg18 |
| pg_hint_plan | 1.7.1 | 1.8.0 | +pg18 |
| pg_ivm | 1.11 | 1.13 | +pg18 |
| pg_partman | 5.2.4 | 5.3.1 | +pg18 |
| pg_search | 0.18.1 | 0.19.2 | +pg18 |
| pg_show_plans | 2.1.6 | 2.1.7 | +pg18 |
| pgpcre | 1 | 0.20190509 | +pg18 |
| pgroonga | 4.0.0 | 4.0.4 | +pg18 |
| pgroonga_database | 4.0.0 | 4.0.4 | +pg18 |
| plpgsql_check | 2.8.2 | 2.8.3 | +pg18 |
| uint | 1.20231206 | 1.20250815 | +pg18 |
| uint128 | 1.1.0 | 1.1.1 | +pg18 |
| omni_* | 20250525 | 20251108 | +pg18 |
| acl | 1.0.4 | +pg18 | |
| aggs_for_arrays | 1.3.3 | +pg18 | |
| aggs_for_vecs | 1.4.0 | +pg18 | |
| arraymath | 1.1 | +pg18 | |
| asn1oid | 1.6 | +pg18 | |
| aws_s3 | 0.0.1 | +pg18 | |
| base36 | 1.0.0 | +pg18 | |
| base62 | 0.0.1 | +pg18 | |
| bzip | 1.0.0 | +pg18 | |
| chkpass | 1.0 | +pg18 | |
| convert | 0.0.4 | +pg18 | |
| count_distinct | 3.0.2 | +pg18 | |
| country | 0.0.3 | +pg18 | |
| cryptint | 1.0.0 | +pg18 | |
| currency | 0.0.3 | +pg18 | |
| data_historization | 1.1.0 | +pg18 | |
| db_migrator | 1.0.0 | +pg18 | |
| dbt2 | 0.61.7 | +pg18 | |
| ddl_historization | 0.0.7 | +pg18 | |
| ddsketch | 1.0.1 | +pg18 | |
| decoder_raw | 1.0 | +pg18 | |
| decoderbufs | 3.2.0 | +pg18 | |
| emailaddr | 0 | +pg18 | |
| envvar | 1.0.1 | +pg18 | |
| faker | 0.5.3 | +pg18 | |
| financial | 1.0.1 | +pg18 | |
| fio | 1.0 | +pg18 | |
| first_last_agg | 0.1.4 | +pg18 | |
| floatfile | 1.3.1 | +pg18 | |
| floatvec | 1.1.1 | +pg18 | |
| geoip | 0.3.0 | +pg18 | |
| hashlib | 1.1 | +pg18 | |
| hashtypes | 0.1.5 | +pg18 | |
| hll | 2.18 | +pg18 | |
| hunspell_* | 1.0 | +pg18 | |
| imgsmlr | 1.0 | +pg18 | |
| index_advisor | 0.2.0 | +pg18 | |
| kafka_fdw | 0.0.3 | +pg18 | |
| login_hook | 1.7 | +pg18 | |
| oracle_fdw | 2.8.0 | +pg18 | |
| pg_auth_mon | 3.0 | +pg18 | |
| pg_background | 1.3 | +pg18 | |
| pg_bigm | 1.2 | +pg18 | |
| pg_cron | 1.6.7 | +pg18 | |
| pg_profile | 4.10 | +pg18 | |
| pg_stat_kcache | 2.3.0 | +pg18 | |
| pgdd | 0.6.0 | +pg18 | |
| pgjwt | 0.2.0 | +pg18 | |
| pgnodemx | 1.7 | +pg18 | |
| pgsodium | 3.1.9 | +pg18 | |
| pgtap | 1.3.3 | +pg18 | |
| plprofiler | 4.2.5 | +pg18 | |
| plproxy | 2.11.0 | +pg18 | |
| plr | 8.4.8 | +pg18 | |
| plv8 | 3.2.4 | +pg18 | |
| pointcloud | 1.2.5 | +pg18 | |
| powa | 5.0.1 | +pg18 | |
| prefix | 1.2.10 | +pg18 | |
| q3c | 2.0.1 | +pg18 | |
| redis_fdw | 1.0 | +pg18 | |
| session_variable | 3.4 | +pg18 | |
| set_user | 4.1.0 | +pg18 | |
| system_stats | 3.2 | +pg18 | |
| temporal_tables | 1.2.2 | +pg18 | |
| topn | 2.7.0 | +pg18 | |
| unit | 7.10 | +pg18 | |
| zhparser | 2.3 | +pg18 | |
| zstd | 1.1.2 | +pg18 |
2025-09-04
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| timesacledb | 2.21.1 | 2.22.0 | |
| citus | 13.1.0 | 13.2.0 | |
| documentdb | 0.105.0 | 0.106.0 | work with ferretdb 2.5 |
| ddlx | 0.29 | 0.30 | + pg18 |
| icu_ext | 1.9.0 | 1.10.0 | + pg18 |
| asn1oid | 1.5 | 1.6 | + pg18 |
| uint128 | 1.0.0 | 1.1.0 | + pg18 |
| toastinfo | 1.5 | 1.6 | + pg18 |
| vchord | 0.4.3 | 0.5.1 | pgrx 0.16.0 |
| pg_idkit | 0.3.0 | 0.3.1 | pgrx 0.15.0 |
| pg_search | 0.17.3 | 0.18.0 | pgrx 0.15.0 |
| pg_parquet | 0.4.0 | 0.4.3 | pgrx 0.16.0 |
| wrappers | 0.5.3 | 0.5.4 | pgrx 0.14.3 |
| pg_rewrite | - | 2.0.0 | + Debian/Ubuntu (PGDG) |
| pg_tracing | - | 0.1.3-2 | + pg 14/18 |
| pg_curl | 2.4 | 2.4.5 | new version epoch |
| pg_rewrite | - | 2.0.0 | Import from PGDG |
| pg_tracing | - | 1.3.0 | + pg14 / pg18 |
| pgactive | 2.1.5 | 2.1.6 | + pg18 |
| sentinel | 1.1 | 1.2 | 1.2 |
| pg_tle | 1.5.1-1 | 1.5.1-2 | + pg18 |
| redis_fdw | + pg18 | ||
| pgextwlist | 1.17 | 1.19 | + pg18 |
| wal2json | 1.6 | + pg18 | |
| pgvector | 0.8.1 | + pg18 |
2025-07-24
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| OrioleDB | beta11 1.4 | beta12 1.5 | 与 oriolepg 17.11 配合 |
| OriolePG | 17.9 | 17.11 | 与 orioledb 1.5 beta12 配合 |
| documentdb | 0.104.0 | 0.105.0 | 与 ferretdb 2.4 配合 |
| timescaledb | 2.20.0 | 2.21.1 | |
| supautils | 2.9.2 | 2.10.0 | .so 位置变更 |
| plv8 | 3.2.3 | 3.2.4 | |
| postgresql_anonymizer | 3.1.1 | 2.3.0 (pgrx 0.14.3) | |
| wrappers | 0.5.0 | 0.5.3 (pgrx 0.14.3) | pgrx 版本变更 |
| pgvectorscale | 0.7.1 | 0.8.0 (pgrx 0.12.9) | |
| pg_search | 0.15.8 | 0.17.0 (download) | 修复 el icu 依赖问题 |
2025-06-24
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| citus | 13.0.3 | 13.1.0 | |
| timescaledb | 2.20.0 | 2.21.0 | |
| vchord | 0.3.0 | 0.4.3 | |
| pgactive | - | 2.1.5 | 需要 pgfeutils |
| documentdb | 0.103.0 | 0.104.0 | 添加 arm 支持 |
2025-05-26
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| pgdd | 0.5.0 | 0.6.0 | |
| convert | - | 0.0.4 | |
| pg_idkit | 0.2.0 | 0.3.0 | |
| pg_tokenizer.rs | - | 0.1.0 | |
| pg_render | - | 0.1.2 | |
| pgx_ulid | - | 0.2.0 | |
| orioledb | 1.4.0b10 | 1.4.0b11 |
2025-05-22
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| openhalodb | - | 14.10 | |
| spat | - | 0.1.0a4 | |
| pgsentinel | - | 1.1.0 | |
| timescaledb | - | 2.20.0 | |
| sqlite_fdw | - | 2.5.0 | |
| documentdb | - | 0.103.0 | |
| tzf | - | 0.2.2 | |
| pg_vectorize | - | 0.22.2 | |
| wrappers | - | 0.5.0 |
2025-05-07
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| omnigres | - | 20250507 | |
| citus | - | 12.0.3 | |
| timescaledb | - | 2.19.3 | |
| supautils | - | 2.9.1 | |
| pg_envvar | - | 1.0.1 | |
| pgcollection | - | 1.0.0 | |
| aggs_for_vecs | - | 1.4.0 | |
| pg_tracing | - | 0.1.3 | |
| pgmq | - | 1.5.1 | |
| tzf-pg | - | 0.2.0 | |
| pg_search | - | 0.15.18 | |
| anon | - | 2.1.1 | |
| pg_parquet | - | 0.4.0 | |
| pg_cardano | - | 1.0.5 | |
| pglite_fusion | - | 0.0.5 | |
| vchord_bm25 | - | 0.2.1 | |
| vchord | - | 0.3.0 | |
| timescaledb-toolkit | - | 1.21.0 | |
| pgvectorscale | - | 0.7.1 | |
| pg_session_jwt | - | 0.3.1 |
2025-03-20
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| timescaledb | - | 2.19.0 | |
| citus | - | 13.0.2 | |
| documentdb | - | 1.102 | |
| pg_analytics | - | 0.3.7 | |
| pg_search | - | 0.15.8 | |
| emaj | - | 4.6.0 | |
| pgsql_tweaks | - | 0.11.0 | |
| pgvectorscale | - | 0.6.0 | |
| pg_session_jwt | - | 0.2.0 | |
| wrappers | - | 0.4.5 | |
| pg_parquet | - | 0.3.1 | |
| vchord | - | 0.2.2 | |
| pg_tle | 1.2.0 | 1.5.0 | |
| supautils | 2.5.0 | 2.6.0 | |
| sslutils | 1.3 | 1.4 | |
| pg_profile | 4.7 | 4.8 | |
| pg_jsonschema | 0.3.2 | 0.3.3 | |
| pg_incremental | 1.1.1 | 1.2.0 | |
| ddl_historization | 0.7 | 0.0.7 | |
| pg_sqlog | 3.1.7 | 1.6 | |
| pg_random | - | - | |
| pg_stat_monitor | 2.1.0 | 2.1.1 | |
| pg_profile | 4.7 | 4.8 |
2024-10-16
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| pg_timeseries | - | 0.1.6 | |
| pgmq | - | 1.4.4 | |
| pg_protobuf | - | 16 17 | |
| pg_uuidv7 | - | 1.6 | |
| pg_readonly | - | latest | |
| pgddl | - | 0.28 | |
| pg_safeupdate | - | latest | |
| pg_stat_monitor | - | 2.1 | |
| pg_profile | - | 4.7 | |
| system_stats | - | 3.2 | |
| pg_auth_mon | - | 3.0 | |
| login_hook | - | 1.6 | |
| logerrors | - | 2.1.3 | |
| pg-orphaned | - | latest | |
| pgnodemx | - | 1.7 | |
| sslutils | - | 1.4 (+16,17) |
6 - DEB 发布日志
查看 pgsty/deb 仓库的构建规范和 pigsty-pgsql 的使用方法
# pig
curl https://repo.pigsty.io/pig | bash # 下载并安装 pig CLI 工具
pig repo add all pigsty -u # 添加 pigsty-pgsql 仓库并更新缓存
# apt
# 将 Pigsty 的 GPG 公钥添加到您的系统密钥链以验证包签名
curl -fsSL https://repo.pigsty.io/key | sudo gpg --dearmor -o /etc/apt/keyrings/pigsty.gpg
# 获取 Debian 发行版代号(distro_codename=jammy、focal、bullseye、bookworm),并将相应的上游仓库地址写入 APT List 文件
distro_codename=$(lsb_release -cs)
sudo tee /etc/apt/sources.list.d/pigsty-io.list > /dev/null <<EOF
deb [signed-by=/etc/apt/keyrings/pigsty.gpg] https://repo.pigsty.io/apt/pgsql/${distro_codename} ${distro_codename} main
EOF
# 刷新 APT 仓库缓存
sudo apt update
2025-12-25
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| pg_duckdb | 1.1.0 | 1.1.1 | |
| pg_search | 0.20.4 | 0.20.5 | |
| vchord_bm25 | 0.2.2 | 0.3.0 | |
| pg_semver | 0.40.0 | 0.41.0 | |
| pg_timeseries | 0.1.7 | 0.1.8 | |
| supautils | 3.0.2-1 | 3.0.2-2 | 修复 pg18 |
| pg_summarize | 0.0.1-1 | 0.0.1-2 | 修复 pg18 |
2025-12-16
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| pg_textsearch | - | 0.1.0 | 新增 |
| pg_clickhouse | - | 0.1.0 | 新增 |
| pg_ai_query | - | 0.1.1 | 新增 |
| timescaledb | 2.23.1 | 2.24.0 | |
| pg_search | 0.20.0 | 0.20.4 | |
| pg_duckdb | 1.1.0-1 | 1.1.0-2 | 官方版本 |
| pg_biscuit | 1.0 | 2.0.1 | 新仓库 |
| pg_convert | 0.0.4 | 0.0.5 | 移除 pg13 支持 |
| pgdd | 0.6.0 | 0.6.1 | 移除 pg13 支持 |
| pglinter | 1.0.0 | 1.0.1 | |
| pg_session_jwt | 0.3.3 | 0.4.0 | |
| pg_anon | 2.4.1 | 2.5.1 | |
| pg_enigma | 0.4.0 | 0.5.0 | |
| wrappers | 0.5.6 | 0.5.7 | |
| pg_vectorize | 0.25.0 | 0.26.0 | 修复 pg18 |
| pg_tiktoken | - | - | 修复 pg18 |
| pg_tzf | - | - | 修复 pg18 |
| pglite_fusion | - | - | 修复 pg18 |
| pgsmcrypto | - | - | 修复 pg18 |
| pgx_ulid | - | - | 修复 pg18 |
| plprql | - | - | 修复 pg18 |
| synchdb | - | 1.3 | 仅支持 Ubuntu 22/24 |
2025-11-20
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| vchord | 0.5.3 | 1.0.0 | |
| pg_later | 0.3.1 | 0.4.0 | |
| pgvectorscale | 0.8.0 | 0.9.0 | -pg13, +pg18 |
| pglite_fusion | 0.0.5 | 0.0.6 | |
| pgx_ulid | 0.2.1 | 0.2.2 | |
| pg_search | 0.19.5 | 0.19.7 | resume PIGSTY building |
| citus | 13.2.0 | 13.2.0 | official tag |
| timescaledb | 2.23.0 | 2.23.1 | |
| pg_profile | 4.10 | 4.11 | |
| pglinter | 1.0.0 | new | |
| pg_typeid | 0.3.0 | head with pg18 support | |
| pg_enigma | 0.4.0 | vonng patched pgrx version | |
| pg_retry | 1.0.0 | new, pg17-18 | |
| pg_biscuit | 1.0 | new, pg16-18 | |
| pg_weighted_statistics | 1.0.0 | new, pg13-18 | |
| documentdb | 0.106 | 0.107 | ferretdb fork |
| PolarDB | 15.15 | 15.15.5.0-38948055 |
2025-11-10
为几乎所有扩展添加 PostgreSQL 18 支持
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| omni_csv | - | 0.1.1 | new |
| omni_datasets | - | 0.1.0 | new |
| omni_shmem | - | 0.1.0 | new |
| pg_csv | - | 1.0.1 | new |
| pljs | - | 1.0.3 | new |
| plxslt | - | 0.20140221 | new |
| credcheck | 3.0 | 4.2 | +pg18 |
| dbt2 | 0.45.0 | 0.61.7 | +pg18 |
| h3 | 4.1.3 | 4.2.3 | +pg18 |
| h3_postgis | 4.1.3 | 4.2.3 | +pg18 |
| mongo_fdw | 1.1 | 5.5.3 | +pg18 |
| multicorn | 3.0 | 3.2 | +pg18 |
| orafce | 4.14.4 | 4.14.6 | +pg18 |
| pg_hint_plan | 1.7.0 | 1.8.0 | +pg18 |
| pg_search | 0.18.1 | 0.19.2 | +pg18 |
| pg_show_plans | 2.1.6 | 2.1.7 | +pg18 |
| pgactive | 2.1.6 | 2.1.7 | +pg18 |
| pgpcre | 1 | 0.20190509 | +pg18 |
| plpgsql_check | 2.8.2 | 2.8.3 | +pg18 |
| roaringbitmap | 0.5.4 | 0.5.5 | +pg18 |
| uint | 1.20231206 | 1.20250815 | +pg18 |
| uint128 | 1.1.0 | 1.1.1 | +pg18 |
| anon | 2.3.0 | 2.4.1 | +pg18 |
| collection | 1.0.0 | 1.1.0 | +pg18 |
| emaj | 4.7.0 | 4.7.1 | +pg18 |
| explain_ui | 0.0.1 | 0.0.2 | +pg18 |
| firebird_fdw | 1.4.0 | 1.4.1 | +pg18 |
| login_hook | 1.6 | 1.7 | +pg18 |
| logerrors | 2.1.3 | 2.1.5 | +pg18 |
| mobilitydb | 1.2.0 | 1.3.0 | +pg18 |
| omni | 0.2.9 | 0.2.14 | +pg18 |
| omni_httpc | 0.1.5 | 0.1.10 | +pg18 |
| omni_httpd | 0.4.6 | 0.4.11 | +pg18 |
| omni_kube | 0.1.1 | 0.4.2 | +pg18 |
| omni_sql | 0.5.1 | 0.5.3 | +pg18 |
| omni_sqlite | 0.1.2 | 0.2.2 | +pg18 |
| omni_worker | 0.1.0 | 0.2.1 | +pg18 |
| pg_cardano | 1.0.5 | 1.1.1 | +pg18 |
| pg_checksums | 1.2 | 1.3 | +pg18 |
| pg_cron | 1.6.5 | 1.6.7 | +pg18 |
| pg_duckdb | 0.3.1 | 1.1.0 | +pg18 |
| pg_failover_slots | 1.1.0 | 1.2.0 | +pg18 |
| pg_graphql | 1.5.11 | 1.5.12 | +pg18 |
| pg_idkit | 0.3.1 | 0.4.0 | +pg18 |
| pg_mooncake | 0.1.2 | 0.2.0 | +pg18 |
| pg_net | 0.9.2 | 0.20.0 | +pg18 |
| pg_parquet | 0.4.3 | 0.5.1 | +pg18 |
| pg_partman | 5.2.4 | 5.3.0 | +pg18 |
| pg_session_jwt | 0.3.1 | 0.3.3 | +pg18 |
| pg_sphere | 1.5.1 | 1.5.2 | +pg18 |
| pg_stat_monitor | 2.2.0 | 2.3.0 | +pg18 |
| pg_statement_rollback | 1.4 | 1.5 | +pg18 |
| pg_store_plans | 1.8 | 1.9 | +pg18 |
| pg_task | 1.0.0 | 2.1.12 | +pg18 |
| pg_tle | 1.5.1 | 1.5.2 | +pg18 |
| pg_uuidv7 | 1.6.0 | 1.7.0 | +pg18 |
| pglogical | 2.4.5 | 2.4.6 | +pg18 |
| pgmq | 1.5.1 | 1.7.0 | +pg18 |
| pgroonga | 4.0.0 | 4.0.4 | +pg18 |
| pgsql_tweaks | 0.11.3 | 1.0.2 | +pg18 |
| pldbgapi | 1.8 | 1.9 | +pg18 |
| plprql | 1.0.0 | 18.0.0 | +pg18 |
| supautils | 2.10.0 | 3.0.2 | +pg18 |
| timescaledb | 2.22.0 | 2.23.0 | +pg18 |
| timescaledb_toolkit | 1.21.0 | 1.22.0 | +pg18 |
| vchord | 0.5.1 | 0.5.3 | +pg18 |
| vectorize | 0.22.2 | 0.25.0 | +pg18 |
| wrappers | 0.5.4 | 0.5.6 | +pg18 |
| acl | 1.0.4 | - | +pg18 |
| aggs_for_arrays | 1.3.3 | - | +pg18 |
| aggs_for_vecs | 1.4.0 | - | +pg18 |
| base36 | 1.0.0 | - | +pg18 |
| hashlib | 1.1 | - | +pg18 |
| hll | 2.18 | - | +pg18 |
| imgsmlr | 1.0 | - | +pg18 |
| index_advisor | 0.2.0 | - | +pg18 |
| kafka_fdw | 0.0.3 | - | +pg18 |
| pg_auth_mon | 3.0 | - | +pg18 |
| pg_background | 1.3 | - | +pg18 |
| pg_bigm | 1.2 | - | +pg18 |
| pg_profile | 4.10 | - | +pg18 |
| pg_stat_kcache | 2.3.0 | - | +pg18 |
| pgdd | 0.6.0 | - | +pg18 |
| pgjwt | 0.2.0 | - | +pg18 |
| pgmp | 1.0.5 | - | +pg18 |
| plprofiler | 4.2.5 | - | +pg18 |
| plv8 | 3.2.4 | - | +pg18 |
| redis_fdw | 1.0 | - | +pg18 |
| repmgr | 5.5.0 | - | +pg18 |
| system_stats | 3.2 | - | +pg18 |
| topn | 2.7.0 | - | +pg18 |
| zhparser | 2.3 | - | +pg18 |
2025-09-06
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| timesacledb | 2.21.1 | 2.22.0 | |
| citus | 13.1.0 | 13.2.0 | |
| documentdb | 0.105.0 | 0.106.0 | work with ferretdb 2.5 |
| ddlx | 0.29 | 0.30 | + pg18 |
| uint128 | 1.0.0 | 1.1.0 | + pg18 |
| vchord | 0.4.3 | 0.5.1 | pgrx 0.16.0 |
| pg_idkit | 0.3.0 | 0.3.1 | pgrx 0.15.0 |
| pg_search | 0.17.3 | 0.18.0 | pgrx 0.15.0 |
| pg_parquet | 0.4.0 | 0.4.3 | pgrx 0.16.0 |
| wrappers | 0.5.3 | 0.5.4 | pgrx 0.14.3 |
| pg_rewrite | - | 2.0.0 | + Debian/Ubuntu |
| pg_tracing | - | 0.1.3-2 | + pg 14/18 |
| pg_curl | 2.4 | 2.4.5 | |
| pg_ivm | 1.11 | 1.12 | + pg18 |
| pg_rewrite | - | 2.0.0 | new extension |
| pg_tracing | - | 1.3.0 | + pg14 / pg18 |
| pgactive | 2.1.5 | 2.1.6 | + pg18 |
| pgsentinel | 1.1 | 1.2 | 1.2 |
| pg_tle | 1.5.1-1 | 1.5.1-2 | + pg18 |
| redis_fdw | + pg18 | ||
| emaj | 4.6 | 4.7 | |
| table_version | 1.11.0 | 1.11.1 |
2025-07-24
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| OrioleDB | beta11 1.4 | beta12 1.5 | 与 oriolepg 17.11 配合 |
| OriolePG | 17.9 | 17.11 | 与 orioledb 1.5 beta12 配合 |
| documentdb | 0.104.0 | 0.105.0 | 与 ferretdb 2.4 配合 |
| timescaledb | 2.20.0 | 2.21.1 | |
| supautils | 2.9.2 | 2.10.0 | .so 位置变更 |
| plv8 | 3.2.3 | 3.2.4 | |
| postgresql_anonymizer | 3.1.1 | 2.3.0 (pgrx 0.14.3) | |
| wrappers | 0.5.0 | 0.5.3 (pgrx 0.14.3) | pgrx 版本变更 |
| pgvectorscale | 0.7.1 | 0.8.0 (pgrx 0.12.9) | |
| pg_search | 0.15.8 | 0.17.0 (download) | 修复 el icu 依赖问题 |
| pg_profile | 4.8.0 | 4.10.0 |
2025-07-04
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| orioledb | 1.4 beta11 | 重新构建 | |
| pgvectorscale | 0.7.1 | 0.7.1 | 重新构建修复错误 |
| pg_stat_monitor | 2.1.1 | 2.2.0 | |
| pgsql-tweaks | 0.11.1 | 0.11.3 | |
| pg_tle | 1.5.0 | 1.5.1 | |
| pg_curl | 2.4 | 2.4.5 |
2025-06-24
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| citus | 13.0.3 | 13.1.0 | |
| timescaledb | 2.20.0 | 2.21.0 | |
| vchord | 0.3.0 | 0.4.3 | |
| pgactive | - | 2.1.5 | 需要 pgfeutils |
| documentdb | 0.103.0 | 0.104.0 | 添加 arm 支持 |
2025-05-26
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| pgdd | 0.5.0 | 0.6.0 | |
| convert | - | 0.0.4 | |
| pg_idkit | 0.2.0 | 0.3.0 | |
| pg_tokenizer.rs | - | 0.1.0 | |
| pg_render | - | 0.1.2 | |
| pgx_ulid | - | 0.2.0 | |
| pg_ivm | 1.10.0 | 1.11.0 | |
| orioledb | 1.4.0b10 | 1.4.0b11 |
2025-05-22
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| openhanded | - | 14.10 | |
| spat | - | 0.1.0a4 | |
| pgsentinel | - | 1.1.0 | |
| timescaledb | - | 2.20.0 | |
| sqlite_fdw | - | 2.5.0 | |
| documentdb | - | 0.103.0 | |
| tzf | - | 0.2.2 | |
| pg_vectorize | - | 0.22.2 | |
| wrappers | - | 0.5.0 |
2025-05-07
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| omnigres | - | 20250507 | |
| citus | - | 12.0.3 | |
| timescaledb | - | 2.19.3 | |
| supautils | - | 2.9.1 | |
| pg_envvar | - | 1.0.1 | |
| pgcollection | - | 1.0.0 | |
| aggs_for_vecs | - | 1.4.0 | |
| pg_tracing | - | 0.1.3 | |
| pgmq | - | 1.5.1 | |
| tzf-pg | - | 0.2.0 | |
| pg_search | - | 0.15.18 | |
| anon | - | 2.1.1 | |
| pg_parquet | - | 0.4.0 | |
| pg_cardano | - | 1.0.5 | |
| pglite_fusion | - | 0.0.5 | |
| vchord_bm25 | - | 0.2.1 | |
| vchord | - | 0.3.0 | |
| timescaledb-toolkit | - | 1.21.0 | |
| pgvectorscale | - | 0.7.1 | |
| pg_session_jwt | - | 0.3.1 |
2025-03-20
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| timescaledb | - | 2.19.0 | |
| citus | - | 13.0.2 | |
| documentdb | - | 1.102 | |
| pg_analytics | - | 0.3.7 | |
| pg_search | - | 0.15.8 | |
| pg_ivm | - | 1.10 | |
| emaj | - | 4.6.0 | |
| pgsql_tweaks | - | 0.11.0 | |
| pgvectorscale | - | 0.6.0 | |
| pg_session_jwt | - | 0.2.0 | |
| wrappers | - | 0.4.5 | |
| pg_parquet | - | 0.3.1 | |
| vchord | - | 0.2.2 | |
| pg_tle | 1.2.0 | 1.5.0 | |
| supautils | 2.5.0 | 2.6.0 | |
| sslutils | 1.3 | 1.4 | |
| pg_profile | 4.7 | 4.8 | |
| pg_jsonschema | 0.3.2 | 0.3.3 | |
| pg_incremental | 1.1.1 | 1.2.0 | |
| ddl_historization | 0.7 | 0.0.7 | |
| pg_sqlog | 3.1.7 | 1.6 | |
| pg_random | - | - | |
| pg_stat_monitor | 2.1.0 | 2.1.1 | |
| pg_profile | 4.7 | 4.8 |
2024-10-16
| 名称 | 旧版本 | 新版本 | 备注 |
|---|---|---|---|
| pg_ivm | - | 1.9 | |
| pg_timeseries | - | 0.1.6 | |
| pgmq | - | 1.4.4 | |
| pg_protobuf | - | 16 17 | |
| pg_uuidv7 | - | 1.6 | |
| pg_readonly | - | latest | |
| pgddl | - | 0.28 | |
| pg_safeupdate | - | latest | |
| pg_stat_monitor | - | 2.1 | |
| pg_profile | - | 4.7 | |
| system_stats | - | 3.2 | |
| pg_auth_mon | - | 3.0 | |
| login_hook | - | 1.6 | |
| logerrors | - | 2.1.3 | |
| pg-orphaned | - | latest | |
| pgnodemx | - | 1.7 | |
| sslutils | - | 1.4 (+16,17) |