# Pigsty v1.4.0

> MatrixDB support, separated INFRA/NODES/PGSQL/REDIS modules

---

LLMS index: [llms.txt](/llms.txt)

---

**v1\.4\.0 · 2022-03-31**
- [View release](https://github.com/pgsty/pigsty/releases/tag/v1.4.0)
- [Source · tar\.gz](https://github.com/pgsty/pigsty/archive/refs/tags/v1.4.0.tar.gz)
- [Source · zip](https://github.com/pgsty/pigsty/archive/refs/tags/v1.4.0.zip)
- [pgsty\/pigsty](https://github.com/pgsty/pigsty)

### Architecture

- Decoupled system into 4 major categories: `INFRA`, `NODES`, `PGSQL`, `REDIS`, making Pigsty clearer and more extensible
- Single-node deployment = `INFRA` + `NODES` + `PGSQL`
- PGSQL cluster deployment = `NODES` + `PGSQL`
- Redis cluster deployment = `NODES` + `REDIS`
- Other database deployment = `NODES` + xxx (e.g., `MONGO`, `KAFKA`...)

### Accessibility

- CDN for mainland China
- Use `bash -c "$(curl -fsSL http://get.pigsty.cc/latest)"` to get latest source
- New `download` script to download and extract packages

### Monitoring Enhancements

- Split monitoring into 5 categories: `INFRA`, `NODES`, `REDIS`, `PGSQL`, `APP`
- Logging enabled by default
  - `loki` and `promtail` now enabled by default, with prebuilt [loki-rpm](https://github.com/Vonng/loki-rpm)
- Model and labels
  - Added hidden `ds` prometheus datasource variable to all dashboards
  - Added `ip` label to all metrics, used as join key between database and node metrics
- INFRA Monitoring
  - INFRA main dashboard: INFRA Overview
  - Added Log dashboard: Logs Instance
  - PGLOG Analysis and PGLOG Session now treated as sample Pigsty APPs
- NODES Monitoring Application
  - Pigsty can be used standalone as host monitoring software
  - Includes 4 core dashboards: Nodes Overview & Nodes Cluster & Nodes Instance & Nodes Alert
  - New identity variables for nodes: `node_cluster` and `nodename`
- PGSQL Monitoring Enhancements
  - New PGSQL Cluster, simplified and focused on what matters in a cluster
  - New dashboard PGSQL Databases for cluster-level object monitoring
  - PGSQL Alert dashboard now focuses solely on PGSQL alerts
  - PGSQL Shard added to PGSQL
- Redis Monitoring Enhancements
  - Added node monitoring to all Redis dashboards

### MatrixDB Support

- MatrixDB (Greenplum 7) can be deployed via `pigsty-matrix.yml` playbook
- MatrixDB monitoring dashboard: PGSQL MatrixDB
- Added sample configuration: `pigsty-mxdb.yml`

### Software Upgrades

- PostgreSQL 14.2
- PostGIS 3.2
- TimescaleDB 2.6
- Patroni 2.1.3 (Prometheus metrics + failover slots)
- HAProxy 2.5.5 (fixed stats errors, more metrics)
- PG Exporter 0.4.1 (timeout parameters, etc.)
- Grafana 8.4.4
- Prometheus 2.33.4
- Greenplum 6.19.4 / MatrixDB 4.4.0
- Loki now provided as RPM package instead of ZIP archive

### Bug Fixes

- Removed Patroni's Consul dependency, making migration to new Consul clusters easier
- Fixed Prometheus bin/new script default data directory path
- Added restart seconds in vip-manager systemd service
- Fixed typos and tasks

### API Changes

## New Variables

- `node_cluster`: Identity variable for node cluster
- `nodename_overwrite`: If set, nodename will be set to node's hostname
- `nodename_exchange`: Exchange node hostnames between play hosts (in `/etc/hosts`)
- `node_dns_hosts_extra`: Extra static DNS records easily overridable by single instance/cluster
- `patroni_enabled`: If disabled, postgres & patroni bootstrap not executed during `postgres` role
- `pgbouncer_enabled`: If disabled, pgbouncer not started during `postgres` role
- `pg_exporter_params`: Extra URL parameters for pg_exporter when generating monitoring target URL
- `pg_provision`: Boolean variable indicating whether to execute provisioning part of `postgres` role
- `no_cmdb`: Used for `infra.yml` and `infra-demo.yml` playbooks, won't create CMDB on meta node

## Sources

- [GitHub release](https://github.com/pgsty/pigsty/releases/tag/v1.4.0)
- [Pigsty v1.4 release article](https://pigsty.io/blog/pigsty/v1.4/)
- [Historical About / Release Note](https://pigsty.io/docs/about/release/#v140)
- [Source comparison: `v1.3.1...v1.4.0`](https://github.com/pgsty/pigsty/compare/v1.3.1...v1.4.0)
