# Pigsty v0.9.0

> Pigsty 图形界面，命令行界面，日志集成

---

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

---

**v0\.9\.0 · 2021-05-01**
- [查看发布](https://github.com/pgsty/pigsty/releases/tag/v0.9.0)
- [源码 · tar\.gz](https://github.com/pgsty/pigsty/archive/refs/tags/v0.9.0.tar.gz)
- [源码 · zip](https://github.com/pgsty/pigsty/archive/refs/tags/v0.9.0.zip)
- [pgsty\/pigsty](https://github.com/pgsty/pigsty)

v0.9 极大简化了安装流程，进行了大量日志相关改进，开发了命令行工具（Beta），并修复了一系列问题。

> [!DETAILS]-
> **新功能**
>
> * 一键安装模式：
>
>   ```bash
>   /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 Reset` Exception 的问题
>     * 修复了 Patroni 日志时间戳格式，去除毫秒时间戳，附加完整时区信息。
>     * 为 `dbuser_monitor` 配置1秒的 `log_min_duration_statement`，避免监控查询出现在日志中。
> * 重构 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_port` promtail 使用的默认端口，默认为9080
> * `promtail_status_file` 保存 Promtail 状态信息的文件位置
> * `promtail_send_url` 用于接收日志的 loki 服务 endpoint

## 信息来源

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