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

发布于 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 个扩展。结合 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 关系中读取已死亡但未清理的元组
  • 新的 deb PGDG 扩展:pg_roaringbitmappgfacetingmobilitydbpgsql-httppg_hint_planpg_statvizpg_rrule
  • 新的 rpm PGDG 扩展:pg_profilepg_show_plans,使用 PGDG 的 pgsql_httppgsql_gzippg_netpg_bigm 而不是 Pigsty RPM。

新特性

  • 为 el 和 deb 发行版准备用于基础设施和 pgsql 软件包的 arm64 软件包。
  • 新的安装脚本从 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(重大更改!)
  • 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:使用 libduckdb 0.10.2 重新编译 v1.1.0
  • 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 而已弃用)

修复的问题

  • 修复角色 pg_exporters 在变量模板中的空格
  • 修复全局变量中 minio_cluster 未注释的问题
  • 修复 el7 配置模板中不存在的 postgis34 软件包名称
  • 根据上游信息,将 EL8 的 python3.11-cryptography 依赖项修复为 python3-cryptography
  • 修复 /pg/bin/pg-role 无法在非交互模式下从环境中获取操作系统用户名的问题
  • 修复 /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

致谢

非常感谢所有贡献补丁、报告错误和提出新功能的用户。

Pigsty 在社区贡献中蓬勃发展。我们热烈欢迎您的想法、功能请求或补丁。请在我们的 GitHub 页面上分享您的贡献。我们期待您对 Pigsty 2.7 的反馈,以及您为使 Pigsty 变得更好而提供的持续支持。

此致,

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