2025年9月25日: PostgreSQL 18 发布!

Pigsty v2.7 发布,提供 255 个扩展的免费 RDS PG

发布于 2024-05-22, 作者: Pigsty
相关开源项目

Pigsty 社区 非常高兴地宣布 Pigsty v2.7.0 的发布。这款免费的 PostgreSQL 发行版和 RDS 替代品,现已支持 255 种独特的扩展。我们还为 OdooJupyterPolarDB 引入了新的 docker-compose 模板,并正式支持 Supabase

关于 Pigsty

Pigsty 是一款“开箱即用”的、本地优先的 PostgreSQL 发行版,作为免费的 RDS 替代方案。

链接: 官网 | GitHub | 演示 | 博客 | 安装 | 特性

图片: 介绍 | 扩展 | 架构 | 仪表盘

使用最新的 v2.7.0 版本 开始使用: curl -L https://get.pigsty.cc/install | bash

Pigsty v2.7:扩展功能爆炸式增长

上个月我写了一篇很受欢迎的文章 - Postgres 正在吞噬数据库界,解释了扩展对 PostgreSQL 生态系统为何如此重要。

基于这个理念,我们在 v2.7 中打包了 **20** 个全新的扩展。通过这些扩展的加入,Pigsty 为 EL 发行版 提供了 **157** 个非 contrib 扩展,为 Debian/Ubuntu 发行版 提供了 **116** 个非 contrib 扩展。结合 **73** 个内置的 Contrib 扩展,Pigsty 现在总共有 **255** 种独特的扩展可用,将 PostgreSQL 的多功能性提升到了一个全新的水平!

所有可用扩展的完整列表: https://pigsty.io/docs/reference/extension/

v2.7.0 发布说明

亮点

增加了许多用 rustpgrx 编写的新扩展

  • pg_search v0.7.0:使用 BM25 算法对 SQL 表进行全文搜索
  • pg_lakehouse v0.7.0:查询 S3 等对象存储和 Delta Lake 等表格式的查询引擎
  • pg_analytics v0.6.1:加速 Postgres 内部的分析查询处理
  • pg_graphql v1.5.4:为您的 PostgreSQL 数据库提供 GraphQL 支持。
  • pg_jsonschema v0.3.1:提供 JSON Schema 验证的 PostgreSQL 扩展
  • wrappers v0.3.1:Supabase 提供的 Postgres 外部数据包装器集合
  • pgmq v1.5.2:一个轻量级的消息队列。类似于 AWS SQS 和 RSMQ,但基于 Postgres。
  • pg_tier v0.0.3:用 Rust 编写的 Postgres 扩展,可实现数据分层到 AWS S3
  • pg_vectorize v0.15.0:在 Postgres 上编排向量搜索的最简单方法
  • pg_later v0.1.0:立即执行 SQL 并在稍后获取结果。
  • pg_idkit v0.2.3:生成多种流行的标识符类型
  • plprql v0.1.0:在 PostgreSQL 中使用 PRQL
  • pgsmcrypto v0.1.0:PostgreSQL SM 算法扩展
  • pg_tiktoken v0.0.1:用于 PostgreSQL 的 OpenAI tiktoken 分词器
  • pgdd v0.5.2:使用纯 SQL 访问数据字典元数据

以及一些使用纯 C 和 C++ 编写的新扩展

  • parquet_s3_fdw 1.1.0:PostgreSQL 的 ParquetS3 外部数据包装器
  • plv8 3.2.2:用于 PostgreSQL 的 V8 引擎 JavaScript 过程语言插件
  • md5hash 1.0.1:用于存储 MD5 哈希而不是文本的自定义数据类型
  • pg_tde 1.0 alpha:PostgreSQL 的实验性加密访问方法
  • pg_dirtyread 2.6:从 PostgreSQL 关系中读取未 vacuum 的死元组
  • 新的 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。

新功能

  • 为 infra 和 pgsql 包准备 arm64 包,用于 el 和 deb 发行版。
  • 新的安装脚本,从 Cloudflare 下载,以及更多提示。
  • 新的监控仪表盘 PGSQL PITR,用于协助 PITR 操作。
  • 准备在 docker VM 容器内运行 pigsty
  • 为在非 Pigsty 管理的节点上运行 pgsql.yml 添加了 防错设计
  • 为每个操作系统发行版添加了独立的模板:el7, el8, el9, debian11, debian12, ubuntu20, ubuntu22

新的 Docker 应用

  • Odoo:启动基于 PostgreSQL 的开源 ERP。
  • Jupyter:运行 Jupyter notebook 容器并暴露 HTTP 服务。
  • PolarDB:运行 OSS PG 共享存储版本的演示沙箱。
  • Supabase:升级到最新的 GA 版本。
  • Bytebase:使用 latest 标签而不是临时版本。
  • pg_exporter:更新 Docker 镜像示例

软件升级

  • PostgreSQL 16.3, 15.7, 14.12, 13.15, 12.19
  • 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 (breaking changes!)
  • 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 (已弃用,因为 pgvector 0.7)

已修复的问题

  • 修复 role pg_exporters 变量模板中的空格
  • 修复全局变量中未注释的 minio_cluster
  • 修复 el7 配置文件模板中不存在的 postgis34 包名
  • 根据上游,修复 EL8 python3.11-cryptography 依赖为 python3-cryptography
  • 修复 /pg/bin/pg-role 在非交互模式下无法从环境变量获取 OS 用户名
  • 修复 /pg/bin/pg-pitr 无法正确提示 -X -P 标志

API 变更

  • 新增参数 node_write_etc_hosts,用于控制是否在目标节点上写入 /etc/hosts 文件。
  • 使用新参数 prometheus_sd_dir 使 prometheus 目标目录可重定位。
  • 添加 -x|--proxy 标志,以启用并使用全局代理环境变量的值,由 @waitingsong 贡献,链接:https://github.com/Vonng/pigsty/pull/405
  • 不再解析 infra nginx 日志详情,因为它会为日志带来过多的标签。
  • 在 prometheus 配置中使用 alertmanager API 版本 v2 而不是 v1
  • pgsql 角色中使用 /pg/cert/ca.crt 而不是 /etc/pki/ca.crt

致谢

非常感谢所有贡献了补丁、报告了 bug 和提出了新功能的社区用户。

Pigsty 的发展离不开社区的贡献。我们热烈欢迎您的想法、功能请求或补丁。请在我们的 GitHub 页面 上分享您的贡献。我们期待您对 Pigsty 2.7 的反馈,并希望您能继续支持我们,让 Pigsty 变得更好。

诚挚地,

Feng Ruohang (@vonng), rh@vonng.com, Pigsty 社区