# Pigsty v2.5.0

> Ubuntu/Debian 支持：bullseye, bookworm, jammy, focal

---

LLMS 索引： [llms.txt](/zh/llms.txt)

---

**v2\.5\.0 · 2023-10-24**
- [查看发布](https://github.com/pgsty/pigsty/releases/tag/v2.5.0)
- [源码 · tar\.gz](https://github.com/pgsty/pigsty/archive/refs/tags/v2.5.0.tar.gz)
- [源码 · zip](https://github.com/pgsty/pigsty/archive/refs/tags/v2.5.0.zip)
- [pgsty\/pigsty](https://github.com/pgsty/pigsty)

```bash
curl https://get.pigsty.cc/latest | bash
```

## 亮点特性

- [Ubuntu](https://github.com/pgsty/pigsty/blob/v2.5.0/files/pigsty/ubuntu.yml) / [Debian](https://github.com/pgsty/pigsty/blob/v2.5.0/files/pigsty/debian.yml)  支持： bullseye, bookworm, jammy, focal
- 使用 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`](https://github.com/pgsty/pigsty/blob/v2.5.0/files/pigsty/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-dev`
    - `vim-minimal` -> `vim-tiny`, `bind-utils` -> `dnsutils`, `perf` -> `linux-tools-generic`,
    - 新增软件包 `acl`，确保 Ansible 权限设置正常工作
- `infra_packages`：所有含 `_` 的包要替换为 `-` 版本，此外 `postgresql-client-16` 用于替换 `postgresql16`
- `pg_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

  ```yaml
  - 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` 覆盖。

```text
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
```

## 信息来源

- [GitHub Release](https://github.com/pgsty/pigsty/releases/tag/v2.5.0)
- [Pigsty v2.5 发布文章](https://pigsty.cc/blog/pigsty/v2.5/)
- [历史 About / 发布注记](https://pigsty.cc/docs/about/release/#v250)
- [源码对比：`v2.4.1...v2.5.0`](https://github.com/pgsty/pigsty/compare/v2.4.1...v2.5.0)
