# Pigsty v2.2.0

> 仪表盘 & 置备重做，UOS 兼容性

---

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

---

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

相关文章：《[Pigsty v2.2 发布 —— 监控系统大升级](https://mp.weixin.qq.com/s/NfQEL6fM8FA-ErijucXJ4g)》

发布注记：https://github.com/pgsty/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](https://github.com/pgsty/pigsty/commit/29434bdd39548d95d80a236de9099874ed564f9b)
* 将 `infra` 操作系统用户组作为额外的组，而不是首要用户组。
* 修复了 Redis Sentinel Systemd 服务的自动启用状态 [5c96feb](https://github.com/pgsty/pigsty/commit/5c96feb598ad6e44daa7a595e34c87e67952777b)
* 放宽了 `bootstrap` & `configure` 的检查，特别是当 `/etc/redhat-release` 不存在的时候。
* 升级到 Grafana 10，修复了 Grafana 9.x [CVE-2023-1410](https://grafana.com/blog/2023/03/22/grafana-security-release-new-versions-with-security-fixes-for-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`:
    - https://get.pigsty.cc/rpm/pev.html
    - https://get.pigsty.cc/rpm/chart.tgz
- `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
- `PGSERVICE` in `.pigsty` 被移除了，取而代之的是 `PGDATABASE=postgres`，这用户只需 IP 地址就可以从管理节点访问特定实例。

目录结构变化：

- `bin/dns` and `bin/ssh` 现在被移动到 `vagrant/` 目录中。

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

## 信息来源

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