Skip to content

This is the multi-page printable view of this section. .

Return to the regular view of this page.

Release

Pigsty release archive using complete x.y.z version numbers.

Every stable numbered Pigsty tag through v4.5.0 has its own x.y.z page, including patch releases. Each record reconciles the long-form Pigsty release article, the historical About / Release Note archive, and the corresponding GitHub release or tag, then links the exact source comparison. Planned versions remain drafts until an actual tag is published.

1 - Pigsty v2.7.0

Extension explosion, 20+ new powerful extensions, Docker apps

Highlights

New powerful extensions, especially Rust/pgrx-developed ones:

C/C++ extensions:

New Features

  • Allow Pigsty to run in Docker VM images
  • ARM64 packages for INFRA & PGSQL modules on Ubuntu and EL
  • New installer script with Cloudflare download, version specification, better prompts
  • PGSQL PITR dashboard for PITR observability
  • Guardrails to prevent running playbooks on unmanaged nodes
  • Per-distro config files: el7, el8, el9, debian11, debian12, ubuntu20, ubuntu22

Docker App Templates

Software Upgrades

  • PostgreSQL 16.3
  • 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 (Warning: breaking changes!)
  • 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: v1.1.0 recompiled for libduckdb 0.10.2
  • 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 (deprecated)

Bug Fixes

  • Fixed variable whitespace in pg_exporters role
  • Fixed minio_cluster not commented in global config
  • Fixed EL7 template postgis34 should be postgis33
  • Fixed EL8 python3.11-cryptography dependency renamed to python3-cryptography
  • Fixed /pg/bin/pg-role not getting OS username in non-interactive shell
  • Fixed /pg/bin/pg-pitr not prompting -X -P options correctly

API Changes

  • New node_write_etc_hosts parameter for controlling /etc/hosts writes
  • New prometheus_sd_dir parameter for Prometheus static discovery directory
  • Configure script adds -x|--proxy for writing proxy info
  • Stopped parsing Nginx log detail labels in Promtail/Loki to avoid label cardinality explosion
  • Using Alertmanager API v2 instead of v1
  • Using /pg/cert/ca.crt instead of /etc/pki/ca.crt in PGSQL module

Offline Package Checksums

MD5 (pigsty-pkg-v2.7.0.el8.x86_64.tgz) = ec271a1d34b2b1360f78bfa635986c3a
MD5 (pigsty-pkg-v2.7.0.debian12.x86_64.tgz) = f3304bfd896b7e3234d81d8ff4b83577
MD5 (pigsty-pkg-v2.7.0.ubuntu22.x86_64.tgz) = 5b071c2a651e8d1e68fc02e7e922f2b3

Sources

2 - Pigsty v2.6.0

PG16 as default, ParadeDB & DuckDB extensions introduced

Highlights

Configuration Changes

  • Replaced node_repo_method with node_repo_modules, removed node_repo_local_urls
  • Temporarily disabled Grafana unified alerting to avoid “Database Locked” errors
  • New node_repo_modules parameter to specify upstream repos added to nodes
  • Removed node_local_repo_urls, functionality replaced by node_repo_modules & repo_upstream
  • Removed node_repo_method parameter, functionality replaced by node_repo_modules
  • Added new local source in repo_upstream, used via node_repo_modules to replace node_local_repo_urls
  • Reorganized node_default_packages, infra_packages, pg_packages, pg_extensions defaults
  • When replacing repo_upstream.baseurl, if EL8/9 PGDG minor-version-specific repos are available, use major.minor instead of major for $releasever for better minor version compatibility

Software Upgrades

  • Grafana 10.3
  • Prometheus 2.47
  • node_exporter 1.7.0
  • HAProxy 2.9.5
  • Loki / Promtail 2.9.4
  • minio-20240216110548 / mcli-20240217011557
  • etcd 3.5.11
  • Redis 7.2.4
  • Bytebase 2.13.2
  • DuckDB 0.10.0
  • FerretDB 1.19
  • Metabase: new Docker app template

PostgreSQL Extensions

  • PostgreSQL minor version upgrades: 16.2, 15.6, 14.11, 13.14, 12.18
  • PostgreSQL 16: now promoted to default major version
  • pg_exporter 0.6.1: security fix
  • Patroni 3.2.2
  • pgBadger 12.4
  • pgBackRest 2.50
  • vip-manager 2.3.0
  • PostGIS 3.4.2
  • TimescaleDB 2.14.1
  • Vector extension PGVector 0.6.0: added parallel HNSW index creation
  • New extension duckdb_fdw v1.1 for reading/writing DuckDB data
  • New extension pgsql-gzip for Gzip compression/decompression v1.0.0
  • New extension pg_sparse for efficient sparse vectors (ParadeDB) v0.5.6
  • New extension pg_bm25 for high-quality BM25 full-text search (ParadeDB) v0.5.6
  • New extension pg_analytics with SIMD + columnar storage for analytics (ParadeDB) v0.5.6
  • Upgraded AIML extension pgml to v2.8.1 with PG 16 support
  • Upgraded columnar extension hydra to v1.1.1 with PG 16 support
  • Upgraded graph extension age to v1.5.0 with PG 16 support
  • Upgraded GraphQL extension pg_graphql to v1.5.0 for Supabase support
MD5 (pigsty-v2.6.0.tgz) = 330e9bc16a2f65d57264965bf98174ff
MD5 (pigsty-pkg-v2.6.0.debian11.x86_64.tgz) = 81abcd0ced798e1198740ab13317c29a
MD5 (pigsty-pkg-v2.6.0.debian12.x86_64.tgz) = 7304f4458c9abd3a14245eaf72f4eeb4
MD5 (pigsty-pkg-v2.6.0.el7.x86_64.tgz) = f914fbb12f90dffc4e29f183753736bb
MD5 (pigsty-pkg-v2.6.0.el8.x86_64.tgz) = fc23d122d0743d1c1cb871ca686449c0
MD5 (pigsty-pkg-v2.6.0.el9.x86_64.tgz) = 9d258dbcecefd232f3a18bcce512b75e
MD5 (pigsty-pkg-v2.6.0.ubuntu20.x86_64.tgz) = 901ee668621682f99799de8932fb716c
MD5 (pigsty-pkg-v2.6.0.ubuntu22.x86_64.tgz) = 39872cf774c1fe22697c428be2fc2c22

Sources

3 - Pigsty v2.5.1

Routine minor update, PG16 key extension support

Following PostgreSQL v16.1, v15.5, 14.10, 13.13, 12.17, 11.22 routine minor version updates.

All important PostgreSQL 16 extensions are now in place (added pg_repack and timescaledb support).

  • Software updates:
    • PostgreSQL to v16.1, v15.5, 14.10, 13.13, 12.17, 11.22
    • Patroni v3.2.0
    • PgBackrest v2.49
    • Citus 12.1
    • TimescaleDB 2.13
    • Grafana v10.2.0
    • FerretDB 1.15
    • SealOS 4.3.7
    • Bytebase 2.11.1
  • Removed monitor schema prefix from PGCAT dashboard queries (allowing users to install pg_stat_statements elsewhere)
  • New wool.yml config template designed for Alibaba Cloud free 99 ECS single-node
  • Added python3-jmespath package for EL9 to fix jmespath missing after Ansible dependency update during bootstrap
MD5 (pigsty-pkg-v2.5.1.el7.x86_64.tgz) = 31ee48df1007151009c060e0edbd74de
MD5 (pigsty-pkg-v2.5.1.el8.x86_64.tgz) = a40f1b864ae8a19d9431bcd8e74fa116
MD5 (pigsty-pkg-v2.5.1.el9.x86_64.tgz) = c976cd4431fc70367124fda4e2eac0a7
MD5 (pigsty-pkg-v2.5.1.debian11.x86_64.tgz) = 7fc1b5bdd3afa267a5fc1d7cb1f3c9a7
MD5 (pigsty-pkg-v2.5.1.debian12.x86_64.tgz) = add0731dc7ed37f134d3cb5b6646624e
MD5 (pigsty-pkg-v2.5.1.ubuntu20.x86_64.tgz) = 99048d09fa75ccb8db8e22e2a3b41f28
MD5 (pigsty-pkg-v2.5.1.ubuntu22.x86_64.tgz) = 431668425f8ce19388d38e5bfa3a948c

Sources

4 - Pigsty v2.5.0

Ubuntu/Debian support: bullseye, bookworm, jammy, focal
curl https://get.pigsty.cc/latest | bash

Highlights

  • Ubuntu / Debian support: bullseye, bookworm, jammy, focal
  • CDN repo.pigsty.cc software repository providing RPM/DEB package downloads
  • Anolis OS support (compatible with EL 8.8)
  • PostgreSQL 16 replaces PostgreSQL 14 as the alternative primary supported version
  • New PGSQL Exporter / PGSQL Patroni dashboards, redesigned PGSQL Query dashboard
  • Extension updates:
    • PostGIS upgraded to 3.4 (EL8/EL9), EL7 remains on PostGIS 3.3
    • Removed pg_embedding as developer discontinued maintenance, recommend pgvector instead
    • New extension (EL): Point cloud plugin pointcloud support, natively available on Ubuntu
    • New extensions (EL): imgsmlr, pg_similarity, pg_bigm for search
    • Recompiled pg_filedump as PG version-independent package
    • Added hydra columnar storage extension, citus no longer installed by default
  • Software updates:
    • Grafana to v10.1.5
    • Prometheus to v2.47
    • Promtail/Loki to v2.9.1
    • Node Exporter to v1.6.1
    • Bytebase to v2.10.0
    • Patroni to v3.1.2
    • pgbouncer to v1.21.0
    • pg_exporter to v0.6.0
    • pgbackrest to v2.48.0
    • pgbadger to v12.2
    • pg_graphql to v1.4.0
    • pg_net to v0.7.3
    • FerretDB to v0.12.1
    • SealOS to 4.3.5
    • Supabase support to 20231013070755

Ubuntu Support Notes

Pigsty supports Ubuntu 22.04 (jammy) and 20.04 (focal) LTS versions with corresponding offline packages.

Compared to EL systems, some parameter defaults need explicit adjustment. See ubuntu.yml for details:

  • repo_upstream: Adjusted for Ubuntu/Debian package names
  • repo_packages: Adjusted for Ubuntu/Debian package names
  • node_repo_local_urls: Defaults to ['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
    • Added acl package to ensure Ansible permissions work correctly
  • infra_packages: All packages with _ replaced by -, postgresql-client-16 replaces postgresql16
  • pg_packages: Ubuntu conventionally uses - instead of _, no need to manually install patroni-etcd
  • pg_extensions: Extension names differ from EL, Ubuntu lacks passwordcheck_cracklib
  • pg_dbsu_uid: Ubuntu DEB packages don’t specify explicit UID, manual specification required, Pigsty defaults to 543

API Changes

Default value changes:

  • repo_modules now defaults to infra,node,pgsql,redis,minio, enabling all upstream sources

  • repo_upstream changed, now adds Pigsty Infra/MinIO/Redis/PGSQL modular software sources

  • repo_packages changed, removed unused karma,mtail,dellhw_exporter, removed PG14 main extensions, added PG16 main extensions, added virtualenv package

  • node_default_packages changed, now installs python3-pip by default

  • pg_libs: timescaledb removed from shared_preload_libraries, no longer auto-enabled by default

  • pg_extensions changed, Citus no longer installed by default, passwordcheck_cracklib installed by default, EL8,9 PostGIS default version upgraded to 3.4

    - pg_repack_${pg_version}* wal2json_${pg_version}* passwordcheck_cracklib_${pg_version}*
    - postgis34_${pg_version}* timescaledb-2-postgresql-${pg_version}* pgvector_${pg_version}*
  • All Patroni templates remove wal_keep_size parameter by default to avoid triggering Patroni 3.1.1 bug, functionality covered by min_wal_size

MD5 (pigsty-pkg-v2.5.0.el7.x86_64.tgz) = 87e0be2edc35b18709d7722976e305b0
MD5 (pigsty-pkg-v2.5.0.el8.x86_64.tgz) = e71304d6f53ea6c0f8e2231f238e8204
MD5 (pigsty-pkg-v2.5.0.el9.x86_64.tgz) = 39728496c134e4352436d69b02226ee8
MD5 (pigsty-pkg-v2.5.0.debian11.x86_64.tgz) = e3f548a6c7961af6107ffeee3eabc9a7
MD5 (pigsty-pkg-v2.5.0.debian12.x86_64.tgz) = 1e469cc86a19702e48d7c1a37e2f14f9
MD5 (pigsty-pkg-v2.5.0.ubuntu20.x86_64.tgz) = cc3af3b7c12f98969d3c6962f7c4bd8f
MD5 (pigsty-pkg-v2.5.0.ubuntu22.x86_64.tgz) = c5b2b1a4867eee624e57aed58ac65a80

Sources

5 - Pigsty v2.4.1

Supabase/PostgresML support with graphql, jwt, pg_net, vault

Supabase & PostgresML support, and other new extensions!

Pigsty-Distro-En

Highlights

  • Supabase support: run open-source Firebase alternative with external postgres managed by Pigsty: example config
  • PostgresML support: Run LLMs, vector operations, classical Machine Learning in Postgres.
  • GraphQL support: pg_graphql reflects a GraphQL schema from the existing SQL schema.
  • Async HTTP Client support pg_net enables asynchronous (non-blocking) HTTP/HTTPS requests with SQL
  • JWT support: pgjwt is the PostgreSQL implementation of JWT (JSON Web Tokens)
  • Vault support: vault can store encrypted secrets in the Vault
  • New component pg_filedump for pg 14 & 15, low-level data recovery tool for PostgreSQL
  • New extension hydra the columnar available for PG 13 - 15. (not packaged due to conflict with citus columnar)
  • Reduce offline packages size for el9 400MB by removing proj-data*
  • Bump FerretDB version to v1.10
  • Fix patroni v3.1.1 broken issue
7e3989a98b7b0cd213e7efa09a8e8ebc  pigsty-v2.4.1.tgz
efabe7632d8994f3fb58f9838b8f9d7d  pigsty-pkg-v2.4.1.el7.x86_64.tgz
ea78957e8c8434b120d1c8c43d769b56  pigsty-pkg-v2.4.1.el8.x86_64.tgz
4ef280a7d28872814e34521978b851bb  pigsty-pkg-v2.4.1.el9.x86_64.tgz

Sources

6 - Pigsty v2.4.0

PG16, RDS monitoring, new extensions: FTS/graph/HTTP/embedding

Highlights

  • PostgreSQL 16 GA released, Pigsty provides support
  • Monitor cloud databases: RDS for PostgreSQL and PolarDB with brand-new PGRDS dashboards
  • Commercial support and consulting services officially launched. First LTS version released, providing up to 5 years of support for subscribers
  • New extension: Apache AGE, openCypher graph query engine on PostgreSQL
  • New extension: zhparser, full text search for Chinese language
  • New extension: pg_roaringbitmap, roaring bitmap for PostgreSQL
  • New extension: pg_embedding, HNSW alternative to pgvector
  • New extension: pg_tle, admin/manage stored procedure extensions
  • New extension: pgsql-http, issue HTTP requests with SQL interface
  • Additional extensions: pg_auth_mon, pg_checksums, pg_failover_slots, pg_readonly, postgresql-unit, pg_store_plans, pg_uuidv7, set_user
  • Redis improvements: Sentinel monitoring support, automatic HA configuration for primary-replica clusters

API Changes

  • New parameter: REDIS.redis_sentinel_monitor — specify list of primaries monitored by Sentinel cluster

Bug Fixes

  • Fixed missing uid when registering datasources in Grafana 10.1
MD5 (pigsty-pkg-v2.4.0.el7.x86_64.tgz) = 257443e3c171439914cbfad8e9f72b17
MD5 (pigsty-pkg-v2.4.0.el8.x86_64.tgz) = 41ad8007ffbfe7d5e8ba5c4b51ff2adc
MD5 (pigsty-pkg-v2.4.0.el9.x86_64.tgz) = 9a950aed77a6df90b0265a6fa6029250

Sources

7 - Pigsty v2.3.1

PGVector with HNSW, PG16 RC1, doc refresh, Chinese docs, bug fixes

Highlights

  • pgvector updated to 0.5 with HNSW algorithm support
  • PostgreSQL 16 RC1 support (el8/el9)
  • Added SealOS to default packages for quick Kubernetes cluster deployment

Bug Fixes

  • Fixed infra.repo.repo_pkg task: downloads could be affected by existing /www/pigsty content when repo_packages contains * wildcards
  • Changed vip_dns_suffix default from .vip to empty string, so cluster name itself becomes the default Node cluster L2 VIP
  • modprobe watchdog and chown watchdog if patroni_watchdog_mode is required
  • When pg_dbsu_sudo = limit and patroni_watchdog_mode = required, grant database dbsu sudo for:
    • /usr/bin/sudo /sbin/modprobe softdog: Ensure softdog kernel module enabled when starting Patroni service
    • /usr/bin/sudo /bin/chown {{ pg_dbsu }} /dev/watchdog: Ensure watchdog ownership correct when starting Patroni service

Documentation Updates

  • Added updated content to English documentation
  • Added simplified Chinese built-in docs, fixed Chinese docs on pigsty.cc

Software Updates

  • PostgreSQL 16 RC1 for EL8/EL9
  • PGVector 0.5.0 with HNSW index support
  • TimescaleDB 2.11.2
  • Grafana 10.1.0
  • Loki & Promtail 2.8.4
  • Redis Stack 7.2 on el7/8
  • mcli-20230829225506 / minio-20230829230735
  • FerretDB 1.9
  • SealOS 4.3.3
  • pgBadger 1.12.2
MD5 (pigsty-pkg-v2.3.1.el7.x86_64.tgz) = ce69791eb622fa87c543096cdf11f970
MD5 (pigsty-pkg-v2.3.1.el8.x86_64.tgz) = 495aba9d6d18ce1ebed6271e6c96b63a
MD5 (pigsty-pkg-v2.3.1.el9.x86_64.tgz) = 38b45582cbc337ff363144980d0d7b64

Sources

8 - Pigsty v2.3.0

Node VIP, FerretDB, NocoDB, MySQL stub, CVE fixes

Highlights

  • INFRA: Added NODE/PGSQL VIP monitoring support
  • PGSQL: Fixed PostgreSQL CVE-2023-39417 via minor upgrades: 15.4, 14.9, 13.12, 12.16, and Patroni v3.1.0
  • NODE: Allow users to bind L2 VIP to node clusters using keepalived
  • REPO: Pigsty Yum repo optimized, site-wide HTTPS by default: get.pigsty.cc and demo.pigsty.cc
  • APP: Upgraded app/bytebase to v2.6.0, app/ferretdb to v1.8; added new app template: NocoDB, open-source Airtable
  • REDIS: Upgraded to v7.2, redesigned Redis dashboards
  • MONGO: Added basic support via FerretDB 1.8
  • MYSQL: Added Prometheus/Grafana/CA stubs for future integration

API Changes

Added new parameter group NODE.NODE_VIP with 8 new parameters:

  • NODE.VIP.vip_enabled: Enable VIP on this node cluster?
  • NODE.VIP.vip_address: Node VIP address in IPv4 format, required if VIP enabled
  • NODE.VIP.vip_vrid: Required, integer 1-255, must be unique within same VLAN
  • NODE.VIP.vip_role: master/backup, defaults to backup, used as initial role
  • NODE.VIP.vip_preempt: Optional, true/false, defaults to false, enable VIP preemption
  • NODE.VIP.vip_interface: Node VIP network interface to listen on, eth0 by default
  • NODE.VIP.vip_dns_suffix: Node VIP DNS name suffix, defaults to .vip
  • NODE.VIP.vip_exporter_port: Keepalived exporter listen port, defaults to 9650
MD5 (pigsty-pkg-v2.3.0.el7.x86_64.tgz) = 81db95f1c591008725175d280ad23615
MD5 (pigsty-pkg-v2.3.0.el8.x86_64.tgz) = 6f4d169b36f6ec4aa33bfd5901c9abbe
MD5 (pigsty-pkg-v2.3.0.el9.x86_64.tgz) = 4bc9ae920e7de6dd8988ca7ee681459d

Sources

9 - Pigsty v2.2.0

Dashboard & provisioning overhaul, UOS compatibility

Highlights

  • Monitoring Dashboard Overhaul: https://demo.pigsty.cc
  • Vagrant Sandbox Redesign: libvirt support with new config templates
  • Pigsty EL Yum Repos: Consolidated scattered RPMs, simplified installation/build process
  • OS Compatibility: Added UOS-v20-1050e support
  • New Config Template: 42-node production simulation configuration
  • Unified official PGDG Citus packages (el7)

Software Upgrades

  • 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 Fixes

  • Fixed Docker group permission issue 29434bd
  • Made infra OS user group supplementary rather than primary
  • Fixed Redis Sentinel systemd service auto-enable state 5c96feb
  • Relaxed bootstrap & configure checks, especially when /etc/redhat-release doesn’t exist
  • Upgraded to Grafana 10, fixing Grafana 9.x CVE-2023-1410
  • Added PG 14-16 command tags and error codes to CMDB pglog schema

API Changes

New variable:

  • INFRA.NGINX.nginx_exporter_enabled: Users can now disable nginx_exporter by setting this parameter

Default value changes:

  • repo_modules: node,pgsql,infra : Redis now provided by pigsty-el repo, no longer needs redis module
  • repo_upstream:
    • Added pigsty-el: EL version-independent RPMs: grafana, minio, pg_exporter, etc.
    • Added pigsty-misc: EL version-specific RPMs: redis, prometheus stack, etc.
    • Removed citus: PGDG now has complete EL7-EL9 Citus 12 support
    • Removed remi: Redis now provided by pigsty-el repo
  • repo_packages: Consolidated package lists (see source for details)
  • repo_url_packages:
  • node_default_packages: Updated package list
  • infra_packages: Updated package list
  • PGSERVICE in .pigsty replaced with PGDATABASE=postgres, allowing users to access specific instances from admin node using just IP address

Directory structure changes:

  • bin/dns and bin/ssh moved to vagrant/ directory
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

Sources

10 - Pigsty v2.1.0

PostgreSQL 12-16beta support

Highlights

  • PostgreSQL 16 beta support, plus support for versions 12-15
  • Added PGVector extension support for PG 12-15 for storing AI embeddings
  • Added 6 additional default extension panel/datasource plugins for Grafana
  • Added bin/profile script for remote profiling and flame graph generation
  • Added bin/validate for validating pigsty.yml configuration file correctness
  • Added bin/repo-add for quickly adding Yum repo definitions to nodes
  • PostgreSQL 16 observability: added pg_stat_io support and related monitoring dashboards

Software Upgrades

  • PostgreSQL 15.3, 14.8, 13.11, 12.15, 11.20, and 16 beta1
  • pgBackRest 2.46 / pgbouncer 1.19
  • Redis 7.0.11
  • Grafana v9.5.3
  • Loki / Promtail / Logcli 2.8.2
  • Prometheus 2.44
  • TimescaleDB 2.11.0
  • minio-20230518000536 / mcli-20230518165900
  • Bytebase v2.2.0

Improvements

  • When adding local user public keys, all id*.pub files are now added to remote machines (e.g., keys generated with elliptic curve algorithms)

Sources

11 - Pigsty v2.0.2

Added pgvector support, fixed MinIO CVE

Highlights

Use out-of-the-box pgvector to store AI Embeddings, index, and retrieve vectors.

Changes

  • New extension pgvector for storing AI embeddings and vector similarity search
  • Fixed MinIO CVE-2023-28432, using new policy API from 20230324
  • Added dynamic reload command for DNSMASQ systemd service
  • Updated PEV version to v1.8
  • Updated Grafana version to v9.4.7
  • Updated MinIO and MCLI versions to 20230324
  • Updated Bytebase version to v1.15.0
  • Updated monitoring dashboards and fixed dead links
  • Updated Aliyun Terraform template, default to RockyLinux 9
  • Using Grafana v9.4 Provisioning API
  • Added asciinema videos for many admin tasks
  • Fixed EL8 PostgreSQL broken dependencies: removed anonymizer_15 faker_15 pgloader
MD5 (pigsty-pkg-v2.0.2.el7.x86_64.tgz) = d46440a115d741386d29d6de646acfe2
MD5 (pigsty-pkg-v2.0.2.el8.x86_64.tgz) = 5fa268b5545ac96b40c444210157e1e1
MD5 (pigsty-pkg-v2.0.2.el9.x86_64.tgz) = c8b113d57c769ee86a22579fc98e8345

Sources

12 - Pigsty v2.0.1

v2 bug fixes, security enhancements, Grafana upgrade

Security improvements and bug fixes for v2.0.0.

Improvements

  • New pig logo to comply with PostgreSQL trademark policy
  • Grafana upgraded to v9.4 with better UI and bug fixes
  • Patroni upgraded to v3.0.1 with bug fixes
  • Grafana systemd service file reverted to rpm default
  • Use slower copy instead of rsync for Grafana dashboard sync, more reliable
  • Bootstrap now restores default repo files after execution
  • Added asciinema videos for various admin tasks
  • Security enhancement mode: restricted monitoring user permissions
  • New config template: dual.yml for two-node deployment
  • Enable log_connections and log_disconnections in crit.yml template
  • Enable $lib/passwordcheck in pg_libs in crit.yml template
  • Explicitly grant pg_monitor role monitoring view permissions
  • Remove default dbrole_readonly from dbuser_monitor to restrict monitoring user permissions
  • Patroni now listens on {{ inventory_hostname }} instead of 0.0.0.0
  • pg_listen now controls postgres/pgbouncer listen address
  • ${ip}, ${lo}, ${vip} placeholders now available in pg_listen
  • Aliyun terraform image upgraded from centos 7.9 to Rocky Linux 9
  • Bytebase upgraded to v1.14.0

Bug Fixes

  • Added missing advertise address for alertmanager
  • Fixed missing pg_mode variable when creating database users with bin/pgsql-user
  • Added -a password option for Redis cluster join task in redis.yml
  • Added missing default value in infra-rm.yml.remove infra data task
  • Fixed prometheus monitoring target definition file owner to prometheus user
  • Use admin user instead of root to delete DCS metadata
  • Fixed issue caused by Grafana 9.4 bug: missing Meta datasource

Sources

13 - Pigsty v2.0.0

Major architecture upgrade, compatibility/security/maintainability

Highlights

  • Perfect integration of PostgreSQL 15, PostGIS 3.3, Citus 11.2, TimescaleDB 2.10 — distributed geospatial time-series hyper-converged database
  • Major OS compatibility improvements: supports EL7, 8, 9, plus RHEL, CentOS, Rocky, OracleLinux, AlmaLinux compatible distros
  • Security improvements: self-signed CA, global SSL network encryption, scram-sha-256 password auth, AES-encrypted backups, redesigned HBA rule system
  • Patroni upgraded to 3.0, providing native HA Citus distributed cluster support, FailSafe mode enabled by default — no fear of DCS failures causing global primary outages
  • Out-of-the-box PITR support based on pgBackRest, default support for local filesystem and dedicated MinIO/S3 cluster backups
  • New ETCD module: independently deployable, easy scaling, built-in monitoring and HA, completely replacing Consul as DCS for HA PG
  • New MINIO module: independently deployable, multi-disk multi-node support, S3 local replacement, also for centralized PostgreSQL backup repository
  • Significantly simplified configuration parameters, usable without defaults; templates auto-adjust host and PG parameters based on machine specs, HBA/service definitions more concise and universal
  • License changed from Apache License 2.0 to AGPL 3.0 due to Grafana and MinIO dependencies

Compatibility

  • Supports EL7, EL8, EL9 major versions with corresponding offline packages, default dev/test environment upgraded from EL7 to EL9
  • Supports more EL-compatible Linux distros: RHEL, CentOS, RockyLinux, AlmaLinux, OracleLinux, etc.
  • Source and offline package naming conventions changed — version, OS version, and architecture now reflected in package names
  • PGSQL: PostgreSQL 15.2, PostGIS 3.3, Citus 11.2, TimescaleDB 2.10 now work together harmoniously
  • PGSQL: Patroni upgraded to 3.0 as PGSQL HA component
    • ETCD now default DCS, replacing Consul, eliminating one Consul Agent failure point
    • vip-manager upgraded to 2.1 using ETCDv3 API, completely deprecating ETCDv2 API; same for Patroni
    • Native HA Citus distributed cluster support using fully open-source Citus 11.2
    • FailSafe mode enabled by default — no fear of DCS failures causing global primary outages
  • PGSQL: pgBackrest v2.44 introduced for out-of-the-box PostgreSQL PITR
    • Default backup repo on primary’s backup directory, rolling two-day recovery window
    • Default alternative repo is dedicated MinIO/S3 cluster, rolling two-week recovery window; local use requires enabling MinIO module
  • ETCD now an independently deployed module with complete scale-out/in solution and monitoring
  • MINIO now an independently deployed module, multi-disk multi-node support, S3 local replacement, also for centralized backup repository
  • NODE module now includes haproxy, docker, node_exporter, promtail components
    • chronyd now replaces ntpd as default NTP service on all nodes
    • HAPROXY now part of NODE rather than PGSQL-exclusive, can expose services via NodePort
    • PGSQL module can now use dedicated centralized HAPROXY cluster for unified external service
  • INFRA module now includes dnsmasq, nginx, prometheus, grafana, loki components
    • DNSMASQ server in Infra module enabled by default, added as default DNS server for all nodes
    • Added blackbox_exporter for host PING probing, pushgateway for batch job metrics
    • loki and promtail now use Grafana’s default packages with official Grafana Echarts panel plugin
    • Monitoring support for PostgreSQL 15’s new observability points, added Patroni monitoring
  • Software version upgrades
    • PostgreSQL 15.2 / PostGIS 3.3 / TimescaleDB 2.10 / Citus 11.2
    • Patroni 3.0 / Pgbouncer 1.18 / pgBackRest 2.44 / vip-manager 2.1
    • HAProxy 2.7 / Etcd 3.5 / MinIO 20230131022419 / mcli 20230128202938
    • Prometheus 2.42 / Grafana 9.3 / Loki & Promtail 2.7 / Node Exporter 1.5

Security

  • Complete local self-signed CA: pigsty-ca for issuing internal component certificates
  • User creation/password changes no longer leave traces in log files
  • Nginx enables SSL support by default (for HTTPS, trust pigsty-ca in your system or use Chrome thisisunsafe)
  • ETCD fully enables SSL encryption for client and peer communication
  • PostgreSQL SSL support added and enabled by default, management connections use SSL
  • Pgbouncer SSL support added, disabled by default for performance
  • Patroni SSL support added, management API restricted to local and admin node access with password auth
  • PostgreSQL default password auth changed from md5 to scram-sha-256
  • Pgbouncer auth query support added for dynamic connection pool user management
  • pgBackRest uses AES-256-CBC encryption by default for remote centralized backup storage
  • High-security template provided: enforces global SSL and requires admin certificate login
  • All default HBA rules now explicitly defined in config files

Maintainability

  • Existing config templates auto-adjust optimizations based on machine specs (CPU/memory/storage)
  • Postgres/Pgbouncer/Patroni/pgBackRest log directories now dynamically configurable: default /pg/log/<type>/
  • Original IP placeholder 10.10.10.10 replaced with dedicated variable ${admin_ip}, referenceable in multiple places for switching backup admin nodes
  • region can be specified to use upstream mirrors from different regions for faster package downloads
  • Finer-grained upstream source addresses now allowed based on EL version, architecture, and region
  • Terraform templates for Alibaba Cloud and AWS China provided for one-click EC2 VM provisioning
  • Multiple Vagrant sandbox templates provided: meta, full, el7/8/9, minio, build, citus
  • New dedicated playbook: pgsql-monitor.yml for monitoring existing Postgres instances or RDS
  • New dedicated playbook: pgsql-migration.yml for seamless logical replication migration to Pigsty-managed clusters
  • Series of dedicated shell utilities added, wrapping common ops operations
  • All Ansible roles optimized for simplicity, readability, and maintainability — usable without default parameters
  • Additional Pgbouncer parameters can be defined at business database/user level

API Changes

Pigsty v2.0 has extensive changes: 64 new parameters, 13 removed, 17 renamed.

New Parameters

  • INFRA.META.admin_ip: Primary meta node IP address
  • INFRA.META.region: Upstream mirror region: default|china|europe
  • INFRA.META.os_version: Enterprise Linux version: 7,8,9
  • INFRA.CA.ca_cn: CA Common Name, default pigsty-ca
  • INFRA.CA.cert_validity: Certificate validity, default 20 years
  • INFRA.REPO.repo_enabled: Build local yum repo on infra node?
  • INFRA.REPO.repo_upstream: Upstream yum repo definition list
  • INFRA.REPO.repo_home: Local yum repo home directory, usually same as nginx_home ‘/www’
  • INFRA.NGINX.nginx_ssl_port: HTTPS listen port
  • INFRA.NGINX.nginx_ssl_enabled: Enable nginx HTTPS?
  • INFRA.PROMETHEUS.alertmanager_endpoint: Alertmanager endpoint (ip|domain):port format
  • NODE.NODE_TUNE.node_hugepage_ratio: Memory hugepage ratio, default 0 (disabled)
  • NODE.HAPROXY.haproxy_service: List of haproxy services to expose
  • PGSQL.PG_ID.pg_mode: pgsql cluster mode: pgsql,citus,gpsql
  • PGSQL.PG_BUSINESS.pg_dbsu_password: dbsu password, empty string means no dbsu password
  • PGSQL.PG_INSTALL.pg_log_dir: postgres log directory, default /pg/data/log
  • PGSQL.PG_BOOTSTRAP.pg_storage_type: SSD|HDD, default SSD
  • PGSQL.PG_BOOTSTRAP.patroni_log_dir: patroni log directory, default /pg/log
  • PGSQL.PG_BOOTSTRAP.patroni_ssl_enabled: Use SSL for patroni RestAPI?
  • PGSQL.PG_BOOTSTRAP.patroni_username: patroni rest api username
  • PGSQL.PG_BOOTSTRAP.patroni_password: patroni rest api password (important: change this)
  • PGSQL.PG_BOOTSTRAP.patroni_citus_db: Citus database managed by patroni, default postgres
  • PGSQL.PG_BOOTSTRAP.pg_max_conn: postgres max connections, auto uses recommended value
  • PGSQL.PG_BOOTSTRAP.pg_shmem_ratio: postgres shared memory ratio, default 0.25, range 0.1~0.4
  • PGSQL.PG_BOOTSTRAP.pg_rto: Recovery Time Objective, failover ttl, default 30s
  • PGSQL.PG_BOOTSTRAP.pg_rpo: Recovery Point Objective, max 1MB data loss by default
  • PGSQL.PG_BOOTSTRAP.pg_pwd_enc: Password encryption algorithm: md5|scram-sha-256
  • PGSQL.PG_BOOTSTRAP.pgbouncer_log_dir: pgbouncer log directory, default /var/log/pgbouncer
  • PGSQL.PG_BOOTSTRAP.pgbouncer_auth_query: If enabled, query pg_authid for biz users instead of populating user list
  • PGSQL.PG_BOOTSTRAP.pgbouncer_sslmode: pgbouncer client SSL: disable|allow|prefer|require|verify-ca|verify-full
  • PGSQL.PG_BOOTSTRAP.pg_service_provider: Dedicated haproxy node group name, or empty for local node
  • PGSQL.PG_BOOTSTRAP.pg_default_service_dest: Default service destination if svc.dest=‘default’
  • PGSQL.PG_BACKUP.pgbackrest_enabled: Enable pgbackrest?
  • PGSQL.PG_BACKUP.pgbackrest_clean: Remove pgbackrest data during init?
  • PGSQL.PG_BACKUP.pgbackrest_log_dir: pgbackrest log directory, default /pg/log
  • PGSQL.PG_BACKUP.pgbackrest_method: pgbackrest backup repo method: local or minio
  • PGSQL.PG_BACKUP.pgbackrest_repo: pgbackrest backup repo config
  • PGSQL.PG_DNS.pg_dns_suffix: pgsql dns suffix, default empty
  • PGSQL.PG_DNS.pg_dns_target: auto, primary, vip, none, or ad hoc ip
  • ETCD.etcd_seq: etcd instance identifier, required
  • ETCD.etcd_cluster: etcd cluster and group name, default etcd
  • ETCD.etcd_safeguard: Prevent purging running etcd instances?
  • ETCD.etcd_clean: Clean existing etcd during init?
  • ETCD.etcd_data: etcd data directory, default /data/etcd
  • ETCD.etcd_port: etcd client port, default 2379
  • ETCD.etcd_peer_port: etcd peer port, default 2380
  • ETCD.etcd_init: etcd initial cluster state: new or existing
  • ETCD.etcd_election_timeout: etcd election timeout, default 1000ms
  • ETCD.etcd_heartbeat_interval: etcd heartbeat interval, default 100ms
  • MINIO.minio_seq: minio instance identifier, required
  • MINIO.minio_cluster: minio cluster name, default minio
  • MINIO.minio_clean: Clean minio during init? default false
  • MINIO.minio_user: minio OS user, default minio
  • MINIO.minio_node: minio node name pattern
  • MINIO.minio_data: minio data directory, use {x…y} for multiple drives
  • MINIO.minio_domain: minio external domain, default sss.pigsty
  • MINIO.minio_port: minio service port, default 9000
  • MINIO.minio_admin_port: minio console port, default 9001
  • MINIO.minio_access_key: root access key, default minioadmin
  • MINIO.minio_secret_key: root secret key, default minioadmin
  • MINIO.minio_extra_vars: extra environment variables for minio server
  • MINIO.minio_alias: alias for local minio deployment
  • MINIO.minio_buckets: list of minio buckets to create
  • MINIO.minio_users: list of minio users to create

Removed Parameters

  • INFRA.CA.ca_homedir: CA home directory, now fixed to /etc/pki/
  • INFRA.CA.ca_cert: CA certificate filename, now fixed to ca.key
  • INFRA.CA.ca_key: CA key filename, now fixed to ca.key
  • INFRA.REPO.repo_upstreams: Replaced by repo_upstream
  • PGSQL.PG_INSTALL.pgdg_repo: Now handled by node playbooks
  • PGSQL.PG_INSTALL.pg_add_repo: Now handled by node playbooks
  • PGSQL.PG_IDENTITY.pg_backup: Unused and conflicted with partial names
  • PGSQL.PG_IDENTITY.pg_preflight_skip: No longer used, replaced by pg_id
  • DCS.dcs_name: Removed due to etcd usage
  • DCS.dcs_servers: Replaced by ad hoc group etcd
  • DCS.dcs_registry: Removed due to etcd usage
  • DCS.dcs_safeguard: Replaced by etcd_safeguard
  • DCS.dcs_clean: Replaced by etcd_clean

Renamed Parameters

  • nginx_upstream -> infra_portal
  • repo_address -> repo_endpoint
  • pg_hostname -> node_id_from_pg
  • pg_sindex -> pg_group
  • pg_services -> pg_default_services
  • pg_services_extra -> pg_services
  • pg_hba_rules_extra -> pg_hba_rules
  • pg_hba_rules -> pg_default_hba_rules
  • pgbouncer_hba_rules_extra -> pgb_hba_rules
  • pgbouncer_hba_rules -> pgb_default_hba_rules
  • vip_mode -> pg_vip_enabled
  • vip_address -> pg_vip_address
  • vip_interface -> pg_vip_interface
  • node_packages_default -> node_default_packages
  • node_packages_meta -> infra_packages
  • node_packages_meta_pip -> infra_packages_pip
  • node_data_dir -> node_data

Special thanks to Italian user @alemacci for contributions on SSL encryption, backup, multi-OS distro adaptation, and adaptive parameter templates!

Sources

14 - Pigsty v1.5.1

Grafana security hotfix

Highlights

IMPORTANT: Fixed the issue where CREATE INDEX|REINDEX CONCURRENTLY in PG14.0-14.3 could corrupt index data.

Pigsty v1.5.1 upgrades the default PostgreSQL version to 14.4. Strongly recommend updating ASAP.

Software Upgrades

  • postgres upgraded to 14.4
  • haproxy upgraded to 2.6.0
  • grafana upgraded to 9.0.0
  • prometheus upgraded to 2.36.0
  • patroni upgraded to 2.1.4

Bug Fixes

  • Fixed TYPO in pgsql-migration.yml
  • Removed PID config item from HAProxy configuration
  • Removed i686 packages from default packages
  • Enabled all Systemd Redis Services by default
  • Enabled all Systemd Patroni Services by default

API Changes

  • grafana_database and grafana_pgurl marked as deprecated API, will be removed in future versions

New Applications

  • wiki.js: Build local Wikipedia with Postgres
  • FerretDB: Provide MongoDB API using Postgres

Sources

15 - Pigsty v1.5.0

Docker application support

Highlights

  • Complete Docker support: enabled by default on meta node with many out-of-the-box software templates: bytebase, pgadmin, pgweb, postgrest, minio, etc.
  • Infrastructure self-monitoring: Nginx, ETCD, Consul, Prometheus, Grafana, Loki self-monitoring
  • CMDB upgrade: compatibility improvements, supports Redis cluster/Greenplum cluster metadata, config file visualization
  • Service discovery improvements: Consul can auto-discover all monitoring targets and integrate with Prometheus
  • Better cold backup support: default scheduled backup tasks, pg_probackup backup tool, one-click delayed replica creation
  • ETCD can now be used as PostgreSQL/Patroni DCS service, as an alternative to Consul
  • Redis playbook/role improvements: now allows init and remove operations for individual Redis instances, not just entire Redis nodes

Monitoring System

Dashboards

  • CMDB Overview: visualize Pigsty CMDB Inventory
  • DCS Overview: view Consul and ETCD cluster monitoring metrics
  • Nginx Overview: view Pigsty Web access metrics and logs
  • Grafana Overview: Grafana self-monitoring
  • Prometheus Overview: Prometheus self-monitoring
  • INFRA Dashboard redesigned to reflect overall infrastructure status

Monitoring Architecture

  • Now allows Consul for service discovery (when all services are registered to Consul)
  • All Infra components now enable self-monitoring and register to Prometheus and Consul via infra_register role
  • Metrics collector pg_exporter updated to v0.5.0, new features: scale and default, allowing metric multiplication factors and default values
  • pg_bgwriter, pg_wal, pg_query, pg_db, pgbouncer_stat time-related metrics now uniformly scaled to seconds from milliseconds/microseconds
  • Related counter metrics in pg_table now have default value 0 instead of NaN
  • pg_class metrics collector removed by default, related metrics added to pg_table and pg_index collectors
  • pg_table_size metrics collector now enabled by default with 300-second cache time

Deployment

  • New optional package docker.tgz with common app images: Pgadmin, Pgweb, Postgrest, ByteBase, Kong, Minio, etc.
  • New ETCD role: automatically deploys ETCD service on DCS Server nodes and integrates with monitoring
  • pg_dcs_type specifies DCS service for PG high-availability: Consul (default), ETCD (alternative)
  • node_crontab parameter for configuring node scheduled tasks like database backups, VACUUM, statistics collection
  • New pg_checksum option: when enabled, database cluster enables data checksums (previously only crit template enabled by default)
  • New pg_delay option: when instance is Standby Cluster Leader, this parameter configures a delayed replica
  • New pg_probackup package, default role replicator now has backup-related function permissions
  • Redis deployment split into two parts: Redis node and Redis instance, redis_port parameter controls specific instances
  • Loki and Promtail now installed via fpm-built RPM packages
  • DCS3 config template now uses a 3-node pg-meta cluster with a single-node delayed replica

Software Upgrades

  • PostgreSQL upgraded to 14.3
  • Redis upgraded to 6.2.7
  • PG Exporter upgraded to 0.5.0
  • Consul upgraded to 1.12.0
  • vip-manager upgraded to v1.0.2
  • Grafana upgraded to v8.5.2
  • Loki & Promtail upgraded to v2.5.0, using fpm packaging

Bug Fixes

  • Fixed Loki and Promtail default config filename issues
  • Fixed Loki and Promtail environment variable expansion issues
  • Complete English documentation translation and revision; documentation JS resources now served locally, no internet access required

API Changes

New Parameters

  • node_data_dir: Main data mount path, created if doesn’t exist
  • node_crontab_overwrite: Overwrite /etc/crontab instead of appending
  • node_crontab: Node crontab content to append or overwrite
  • nameserver_enabled: Enable nameserver on this infra node?
  • prometheus_enabled: Enable prometheus on this infra node?
  • grafana_enabled: Enable grafana on this infra node?
  • loki_enabled: Enable loki on this infra node?
  • docker_enable: Enable docker on this infra node?
  • consul_enable: Enable consul server/agent?
  • etcd_enable: Enable etcd server/client?
  • pg_checksum: Enable pg cluster data checksums?
  • pg_delay: Application delay when backup cluster leader replays replication

Parameter Redesign

*_clean is now a boolean parameter for cleaning existing instances during init.

*_safeguard is also a boolean parameter to prevent cleaning running instances during any playbook execution.

  • pg_exists_action -> pg_clean
  • pg_disable_purge -> pg_safeguard
  • dcs_exists_action -> dcs_clean
  • dcs_disable_purge -> dcs_safeguard

Parameter Renames

  • node_ntp_config -> node_ntp_enabled
  • node_admin_setup -> node_admin_enabled
  • node_admin_pks -> node_admin_pk_list
  • node_dns_hosts -> node_etc_hosts_default
  • node_dns_hosts_extra -> node_etc_hosts
  • node_dns_server -> node_dns_method
  • node_local_repo_url -> node_repo_local_urls
  • node_packages -> node_packages_default
  • node_extra_packages -> node_packages
  • node_packages_meta -> node_packages_meta
  • node_meta_pip_install -> node_packages_meta_pip
  • node_sysctl_params -> node_tune_params
  • app_list -> nginx_indexes
  • grafana_plugin -> grafana_plugin_method
  • grafana_cache -> grafana_plugin_cache
  • grafana_plugins -> grafana_plugin_list
  • grafana_git_plugin_git -> grafana_plugin_git
  • haproxy_admin_auth_enabled -> haproxy_auth_enabled
  • pg_shared_libraries -> pg_libs
  • dcs_type -> pg_dcs_type

Sources

16 - Pigsty v1.4.1

Bug fixes & full English documentation translation

Bug fixes / Docker support / English documentation

Docker is now enabled by default on the meta node, allowing you to spin up various software.

Bug Fixes

  • Fixed Promtail & Loki configuration variable issues
  • Fixed Grafana legacy alerts
  • Disabled nameserver by default
  • Renamed pg-alias.sh for Patroni shortcuts
  • Disabled exemplars queries for all dashboards
  • Fixed Loki data directory issue
  • Changed autovacuum_freeze_max_age from 100000000 to 1000000000

Sources

17 - Pigsty v1.4.0

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

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
  • 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

18 - Pigsty v1.3.1

Dashboard polish, security fixes, and software upgrades

Monitoring

  • PGSQL & PGCAT dashboard improvements
  • Optimized PGCAT Instance & PGCAT Database layout
  • Added key metric panels to PGSQL Instance dashboard (consistent with PGSQL Cluster)
  • Added table/index bloat panels to PGCAT Database, removed PGCAT Bloat dashboard
  • Added index information to PGCAT Database dashboard
  • Fixed broken panels in Grafana 8.3
  • Added Redis index to Nginx homepage

Deployment

  • New infra-demo.yml playbook for one-click bootstrap
  • New infra-jupyter.yml playbook for optional JupyterLab server
  • New infra-pgweb.yml playbook for optional PGWeb server
  • Added pg alias on meta node for starting PostgreSQL cluster from admin user
  • Adjusted max_locks_per_transactions in all Patroni config templates per timescaledb-tune recommendations
  • Added citus.node_conninfo: 'sslmode=prefer' to config templates for SSL-free Citus usage
  • Added all extensions (except pgrouting) from PGDG14 to package list
  • Upgraded node_exporter to v1.3.1
  • Added PostgREST v9.0.0 for generating REST APIs from PostgreSQL schemas

Bug Fixes

  • Grafana security vulnerability fix (upgraded to v8.3.1, details)
  • Fixed pg_instance & pg_service issues in register role when starting playbook mid-run
  • Fixed Nginx homepage rendering on hosts without pg_cluster variable
  • Fixed style issues when upgrading to Grafana 8.3.1

Sources

19 - Pigsty v1.3.0

PGCAT overhaul & PGSQL enhancement & Redis beta support

Redis Support

Feature Description
Redis Deployment Standalone, Sentinel, and Cluster modes
Redis Monitoring Overview, Cluster, and Instance dashboards

PGCAT Overhaul

Dashboard Description
PGCAT Instance New instance-level catalog dashboard
PGCAT Database New database-level catalog dashboard
PGCAT Table Redesigned table-level dashboard

PGSQL Enhancements

Dashboard Improvements
PGSQL Cluster Added 10 key metric panels
PGSQL Instance Added 10 key metric panels
PGSQL Service Simplified and redesigned
Cross-references Navigation links between PGCAT and PGSQL dashboards

Monitor Deployment

  • Grafana datasources auto-register during monitor-only deployment

Software Upgrades

  • PostgreSQL 13 added to default package list
  • PostgreSQL upgraded to 14.1 as default
  • Added Greenplum RPM packages and dependencies
  • Added Redis RPM and source packages
  • Added perf as default package

Sources

20 - Pigsty v1.2.0

Default PGSQL version upgraded to 14

Core Features

  • Default to PostgreSQL 14
  • Default to TimescaleDB 2.5 extension
  • TimescaleDB and PostGIS enabled by default in CMDB

Monitor-Only Mode

  • Monitor existing PostgreSQL instances via connection URL only
  • pg_exporter deployed on local meta node
  • New PGSQL Cluster Monly dashboard for remote clusters

Software Upgrades

  • Grafana upgraded to 8.2.2
  • pev2 upgraded to v0.11.9
  • Promscale upgraded to 0.6.2
  • PgWeb upgraded to 0.11.9
  • New extensions: pglogical, pg_stat_monitor, orafce

Improvements

  • Auto-detect machine specs and use appropriate node_tune and pg_conf templates
  • Reworked bloat-related views, exposing more information
  • Removed TimescaleDB and Citus internal monitoring
  • Added pgsql-audit.yml playbook for creating audit reports
  • All config templates simplified to two: auto and demo

Bug Fixes

  • pgbouncer_exporter resource owner changed to {{ pg_dbsu }} instead of postgres
  • Fixed pg_exporter duplicate metrics on pg_table/pg_index during REINDEX TABLE CONCURRENTLY

Sources

21 - Pigsty v1.1.1

TimescaleDB upgrade and new Patroni templates
  • Replaced TimescaleDB apache version with timescale version
  • Upgraded Prometheus to 2.30
  • Fixed pg_exporter config directory owner issue (changed to {{ pg_dbsu }})

Upgrade Notes

The main change in this version is TimescaleDB — using the official TimescaleDB License (TSL) version to replace the Apache License v2 version from the PGDG repository.


## Sources

- [GitHub release](https://github.com/pgsty/pigsty/releases/tag/v1.1.1)
- [Pigsty v1.1 release article](https://pigsty.io/blog/pigsty/v1.1/)
- [Source comparison: `v1.1...v1.1.1`](https://github.com/pgsty/pigsty/compare/v1.1...v1.1.1)

22 - Pigsty v1.1.0

Homepage, JupyterLab, PGWEB, Pev2 & pgbadger

Feature Enhancements

  • Added pg_dummy_filesize to create filesystem space placeholder
  • Major homepage redesign
  • Added JupyterLab integration
  • Added PGWeb console integration
  • Added PgBadger support
  • Added PEV2 support, execution plan visualization tool
  • Added pglog tooling

Software Upgrades

  • PostgreSQL upgraded to v13.4 (with official PG14 support)
  • pgbouncer upgraded to v1.16 (metric definitions updated)
  • Grafana upgraded to v8.1.4
  • Prometheus upgraded to v2.29
  • node_exporter upgraded to v1.2.2
  • HAProxy upgraded to v2.1.1
  • Consul upgraded to v1.10.2
  • vip-manager upgraded to v1.0.1

API Changes

  • nginx_upstream now has different structure (incompatible)
  • New config entry: app_list, navigation entries rendered to homepage
  • New config entry: docs_enabled, setup local docs on default server
  • New config entry: pev2_enabled, setup local PEV2 tool
  • New config entry: pgbadger_enabled, create log summary/report directory
  • New config entry: jupyter_enabled, enable JupyterLab server on meta node
  • New config entry: jupyter_username, specify user to run JupyterLab
  • New config entry: jupyter_password, specify default password for JupyterLab
  • New config entry: pgweb_enabled, enable PGWeb server on meta node
  • New config entry: pgweb_username, specify user to run PGWeb
  • Renamed internal flag repo_exist to repo_exists
  • repo_address default value changed to pigsty instead of yum.pigsty
  • HAProxy access point changed to http://pigsty instead of http://h.pigsty

Sources

23 - Pigsty v1.0.1

Bug fixes and documentation improvements

2021-09-14

Documentation Update

  • Chinese documentation now available
  • Machine-translated English documentation now available

Bug Fixes

  • pgsql-remove no longer removes primary instances
  • Replaced pg_instance with pg_cluster + pg_seq (Start-At-Task could fail when pg_instance undefined)
  • Removed Citus from default shared preload libraries (Citus forces max_prepared_transaction to non-zero)
  • Added ssh sudo check in configure (now uses ssh -t sudo -n ls for permission check)
  • Fixed pg-backup script typo

Optimizations

  • Removed NTP sanity check alert (duplicate of ClockSkew)
  • Removed collector.systemd to reduce overhead

Sources

24 - Pigsty v1.0.0

v1 GA, Monitoring System Overhaul

Monitoring System Overhaul

  • New dashboards on Grafana 8.0
  • New metric definitions, added PG14 support
  • Simplified labeling system: static label set (job, cls, ins)
  • New alerting rules and derived metrics
  • Monitor multiple databases simultaneously
  • Real-time log search & csvlog analysis
  • Richly-linked dashboards, click through for drill-down/roll-up

Architecture Changes

  • Added Citus and TimescaleDB to default installation
  • Added PostgreSQL 14beta2 support
  • Simplified HAProxy admin page indexing
  • Decoupled infrastructure and PGSQL by adding new role register
  • Added new roles loki and promtail for logging
  • Added new role environ to setup environment for admin user on meta node
  • Default to static service discovery for Prometheus (instead of consul)
  • Added new role remove for graceful cluster and instance removal
  • Upgraded Prometheus and Grafana provisioning logic
  • Upgraded to vip-manager 1.0, node_exporter 1.2, pg_exporter 0.4, Grafana 8.0
  • Every database on every instance auto-registers as a Grafana datasource
  • Moved Consul registration to register role, changed Consul service tags
  • Added cmdb.sql as pg-meta baseline definition (CMDB & PGLOG)

Application Framework

  • Extensible framework for new features
  • Core app: PostgreSQL monitoring system pgsql
  • Core app: PostgreSQL catalog explorer pgcat
  • Core app: PostgreSQL csvlog analyzer pglog
  • Added sample app covid for COVID-19 data visualization
  • Added sample app isd for ISD weather data visualization

Other

  • Added JupyterLab for full Python data science environment
  • Added vonng-echarts-panel to restore ECharts support
  • Added wrapper scripts createpg, createdb, createuser
  • Added CMDB dynamic inventory scripts: load_conf.py, inventory_cmdb, inventory_conf
  • Removed obsolete playbooks: pgsql-monitor, pgsql-service, node-remove, etc.

API Changes

  • New variable: node_meta_pip_install
  • New variable: grafana_admin_username
  • New variable: grafana_database
  • New variable: grafana_pgurl
  • New variable: pg_shared_libraries
  • New variable: pg_exporter_auto_discovery
  • New variable: pg_exporter_exclude_database
  • New variable: pg_exporter_include_database
  • Variable renamed: grafana_urlgrafana_endpoint

Bug Fixes

  • Fixed default timezone Asia/Shanghai (CST) issue
  • Fixed nofile limits for pgbouncer & patroni
  • pgbouncer user list and database list now generated when running tag pgbouncer

Sources

25 - Pigsty v0.9.1

Three-step installer, PostgreSQL 13.3, and Grafana 7.5.6

Update package version:

  • PostgreSQL 13.3
  • Grafana 7.5.6

Add configure support.

Now install pigsty with 3 steps: download, configure and install:

curl -fsSL https://github.com/pgsty/pigsty/releases/download/v0.9.1/pigsty.tgz | gzip -d | tar -xC ~; cd ~/pigsty
./configure
make install

WoW! just like old time!

Sources

26 - Pigsty v0.9.0

Pigsty GUI, CLI, Logging Integration

New Stuff

  • One-liner install: curl -fsSL https://pigsty.cc/install | bash bootstraps everything.
  • pigsty-cli: wraps the common Ansible playbooks so you stop copy-pasting command lines. Still beta but already handy.
  • Loki + Promtail: Postgres, pgbouncer, and Patroni logs stream into Grafana with metrics extracted from log volume. infra-loki.yml and pgsql-promtail.yml wire things up.
  • Binary exporters: grab monitoring binaries with files/get_bin.sh if you don’t want to rely on repos.
  • Flight mode: once the meta node is initialized you can run bin/upgrade to switch into a dynamic inventory using data stored inside pg-meta.

Fixes

  • Cleaned up HAProxy health checks that were flooding PG and Patroni logs with connection reset noise.
  • Patroni logs now carry readable timestamps (no more millisecond fragments) and explicit time zones.
  • Monitoring queries run by dbuser_monitor log only when slower than 1s.
  • Grafana role refactor keeps the API stable, but uses CDN-hosted plugin bundles for faster installs.
  • Pgbouncer user creation now handles md5 passwords properly.
  • Hardened SQL templates for DB/user creation, fixed DNS orchestration edge cases, and tidied Makefile typos.

Knob Changes

  • node_disable_swap defaults to false; Pigsty no longer nukes swap by default.
  • node_sysctl_params stops writing kernel tunables unless you explicitly set them.
  • grafana_plugin: install now means “download from CDN if cache is missing.”
  • repo_url_packages pulls extra RPMs from the Pigsty CDN so installs inside China work out of the box.
  • proxy_env.no_proxy includes the CDN endpoints.
  • grafana_customize defaults to false; flip it on only if you have the Pigsty Pro UI bits.
  • node_admin_pk_current adds your current ~/.ssh/id_rsa.pub to the admin account.
  • Loki/Promtail knobs: loki_clean, loki_data_dir, promtail_enabled, promtail_clean, promtail_port, promtail_status_file, promtail_send_url.

Sources

27 - Pigsty v0.8.0

Service Provision

v0.8 finalizes the provisioning API. Services are completely rebuilt: instead of a hard-coded primary/replica pair you can now declare any number of services, plug in HAProxy, swap in an external load balancer, or hand off to a custom VIP controller. Everything else in the supply chain stabilizes on top of this model.

Service API

The old vip and haproxy knobs moved under the service role. pg_services (plus pg_services_extra) define each exposed endpoint—name, ports, selectors, health checks, weights, and balancer hints. Selectors are JMESPath filters over cluster members, and optional selector_backup pools handle fail-in when replicas are gone. Out of the box we ship primary, replica, default, and offline service definitions; swap dst_port to point at postgres, pgbouncer, or any number.

The HAProxy stanza keeps per-service tuning (maxconn, algorithm, timeouts) while VIP config distinguishes L2/L4 implementations so you can drop Pigsty behind an existing load balancer.

Database Interface Tweaks

Locales can now be split into lc_collate and lc_ctype so extensions like pg_trgm behave with non-C collations. The rest of the pg_databases schema stays the same—owner/template/encoding/connlimit/revokeconn/pgbouncer/comment—just with better defaults and inline comments.

Sources

28 - Pigsty v0.7.0

Monitor only deployment

Pigsty v0.7 focuses on plugging existing fleets into Pigsty’s observability stack. The new monitor-only flow lets you drop Pigsty dashboards onto databases that were provisioned elsewhere, and the declarative APIs for databases and users got a much needed redesign.

Highlights

  • Monitor-only deployment flow (monly) with its own playbook.
  • Split static Prometheus target files by cluster for easier hand-editing.
  • New helper playbooks: pgsql-createuser.yml and pgsql-createdb.yml for live clusters.
  • Database and user schema definitions now cover owner/template/locale knobs plus per-role capabilities.
  • Bug fixes for extension schema typos and pgbouncer reload.

API Changes

New options:

prometheus_sd_target: batch
exporter_install: none
exporter_repo_url: ''
node_exporter_options: '--no-collector.softnet --collector.systemd --collector.ntp --collector.tcpstat --collector.processes'
pg_exporter_url: ''
pgbouncer_exporter_url: ''

Removed option:

exporter_binary_install

Structures affected: pg_default_roles, pg_users, pg_databases. Also fixed the pg_default_privilegs typo → pg_default_privileges.

Monitor-Only Mode

When you just want Pigsty’s observability without touching the way databases were provisioned, run the monly flow. Infra still gets bootstrapped on the meta node via ./infra.yml, but database nodes skip the provisioning playbooks and only run ./pgsql-monitor.yml. Config gets much shorter—most of the time you only keep infra vars and a handful of monitoring knobs.

Database Provisioning Interface

pg_databases now exposes owner/template/encoding/locale/connlimit/allowconn knobs plus revokeconn (strip CONNECT from public) and inline comments. Use ./pgsql-createdb.yml -e pg_database=<name> to create or mutate live databases; the generated SQL lives inside /pg/tmp/pg-db-<name>.sql on the primary.

User Provisioning Interface

pg_users swapped usernamename, groupsroles, and exploded options into discrete flags (login, superuser, createdb, createrole, inherit, replication, bypassrls, connlimit). Users can also get expire_at / expire_in timers plus pgbouncer defaults to false. Apply changes through ./pgsql-createuser.yml -e pg_user=<name> which renders /pg/tmp/pg-user-<name>.sql on the primary.

Sources

29 - Pigsty v0.6.0

Architecture Enhancement

Pigsty v0.6 responds to user feedback with a redesigned provisioning path plus a monitoring stack that can sit beside any managed PG fleet—even a MyBase cluster built elsewhere.

Bug Fixes

  • Patroni no longer resets PG HBA on restart.
  • Fixed copy typos and the default primary for the pg-test sandbox cluster.
  • Patched the dashboard title typo on PG Overview.

Feature Work

  • Monitoring supply chain overhaul: Prometheus can now run fully static, exporters accept service_registry toggles, and exporter_binary_install lets you drop binaries without hitting repos. Each exporter has its own *_enabled flag.
  • Prometheus static discovery is rendered straight from inventory, so you can graft Pigsty dashboards onto any PG-as-a-service footprint.
  • HAProxy provisioning adds a global console at h.pigsty, optional auth, fallback routing to the primary when all replicas die, and per-service weight tuning.
  • ACL defaults now include dbrole_offline for slow-query/ETL workloads plus HBA rules that fence those workloads to marked nodes.
  • Component refresh: PostgreSQL 13.2, Prometheus 2.25, pg_exporter 0.3.2, node_exporter 1.1, Consul 1.9.3, and a faster ZJU PG mirror.

API Changes

New knobs:

service_registry: consul
prometheus_options: '--storage.tsdb.retention=30d'
prometheus_sd_method: consul
prometheus_sd_interval: 2s
pg_offline_query: false
node_exporter_enabled: true
pg_exporter_enabled: true
pgbouncer_exporter_enabled: true
dcs_disable_purge: false
pg_disable_purge: false
haproxy_weight: 100
haproxy_weight_fallback: 1

Removed knobs:

prometheus_metrics_path
prometheus_retention

Sources

30 - Pigsty v0.5.2

Playbook restructuring, VIP/HAProxy controls, and configuration cleanup

[!INFO]

This historical version is represented by its Git tag and source tree because no GitHub Release was published.

Highlights

  • Made pigsty.yml the default configuration and reorganized the standard sandbox.yml, infra.yml, and pgsql.yml workflows.
  • Split VIP management from HAProxy and added administrator authentication, traffic weights, and primary fallback controls.
  • Added the nameserver step to the main playbook and refreshed the accompanying documentation.

v0.5.2 is a tagged maintenance snapshot without a separately authored GitHub Release body.

Sources

31 - Pigsty v0.5.1

Dashboard fixes, the ZJU mirror, and documentation refresh

[!INFO]

This historical version is represented by its Git tag and source tree because no GitHub Release was published.

Highlights

  • Fixed PostgreSQL cluster and instance dashboard issues found after v0.5.0.
  • Switched the default PostgreSQL mirror to Zhejiang University for faster regional installs.
  • Refreshed the README and consolidated the v0.5 documentation snapshot.

v0.5.1 is a tagged maintenance snapshot without a separately authored GitHub Release body.

Sources

32 - Pigsty v0.5.0

Database Customize Template

Outline

  • The official docs site (http://pigsty.cc/) is live.
  • Database templating becomes fully declarative: define users, roles, databases, ACLs, extensions, and schemas in config.
  • The default access model is refined and HBA management now comes straight from Pigsty instead of Patroni.
  • Grafana provisioning switched from shoving a sqlite file to JSON provisioning via API.
  • Added the pg-cluster-replication dashboard to the open bundle.
  • CentOS 7.8 offline bundle: pkg.tgz.

Declarative Database Layouts

Multi-tenant headaches go away once everything is described as code. The new templates let you declare users, passwords, role hierarchies, DB defaults, extensions, schemas, and default privileges in YAML so a single config file replaces piles of runbooks. A stripped example:


## Sources

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

33 - Pigsty v0.4.0

PostgreSQL 13 Support, Official Documentation

Pigsty v0.4 is our second public beta. The observability stack was rebuilt around Grafana 7.3, and ten curated dashboards became the default open-source payload. pg_exporter 0.3.1 drives metrics, and the alert wiring has been cleaned up for the new Grafana release.

Open-Source Dashboards

The OSS build now exposes ten high-signal Grafana panels: PG Overview, Cluster, Service, Instance, Database, Query, Table, Table Catalog, Table Detail, and Node. Even with a lean set it easily outclasses most “enterprise” PG monitoring suites.

Software Refresh

  • PostgreSQL 13.1 + Patroni 2.0.1-4, with citus added to the repo
  • pg_exporter upgraded to 0.3.1
  • Grafana jumps to 7.3; a ton of compatibility fixes landed
  • Prometheus 2.23 with the new UI enabled
  • Consul 1.9 and related components updated

Other Improvements

  • Updated Prometheus alert rules and Alertmanager info links
  • Fixed a batch of bugs and typos
  • Added a tiny backup script for quick dumps

Offline Bundle

Need an air-gapped install? Grab the CentOS 7.8 package bundle (pkg.tgz) from GitHub and deploy from local media.

Sources

34 - Pigsty v0.3.0

Provisioning Solution GA

Pigsty v0.3.0 is the very first public preview. It packages a lean observability stack plus a reproducible offline bundle so you can spin up a real PostgreSQL lab without touching the public Internet.

Observability Stack

The open build ships eight curated Grafana dashboards: PG Overview, Cluster, Service, Instance, Database, Table Overview, Table Catalog, and a bare-metal Node view. Even with a trimmed set the coverage still crushes most “enterprise” monitoring stories.

Offline Bundle

Shipyard environments can fetch the CentOS 7.8 offline bundle directly from GitHub (pkg.tgz). Drop it on the management node and you have a deterministic install no matter how broken the mirrors are.

Sources

35 - Pigsty v0.0.5

Offline installation, Consul role, and HAProxy fixes

[!INFO]

This historical version is represented by its Git tag and source tree because no GitHub Release was published.

Highlights

  • Added an offline installation mode for environments without Internet access.
  • Introduced a dedicated Consul role and refreshed repository bootstrap behavior.
  • Added psql startup helpers, split PostgreSQL script tasks, and fixed HAProxy connection-reset noise.

This historical record is reconstructed from the v0.0.5 tag and its source comparison with v0.0.4.

Sources

36 - Pigsty v0.0.4

Ansible role split, networking, and repository refactor

[!INFO]

This historical version is represented by its Git tag and source tree because no GitHub Release was published.

Highlights

  • Split the former monolithic automation into dedicated Meta, Grafana, DNS, Nginx, and Prometheus roles.
  • Added static-network handling and revised the local repository upstream policy.
  • Expanded role documentation while keeping service registration templates aligned with the new layout.

This historical record is reconstructed from the v0.0.4 tag and its source comparison with v0.0.3.

Sources

37 - Pigsty v0.0.3

Interface and monitoring-schema improvements

[!INFO]

This historical version is represented by its Git tag and source tree because no GitHub Release was published.

Highlights

  • Improved the early Pigsty configuration interface and added the monitoring schema.
  • Added a Kubernetes playbook and refined the PostgreSQL initialization defaults.
  • Simplified the Vagrant bootstrap path and fixed several HAProxy, Patroni, and exporter registration details.

This historical tag predates the public release series. Its record is reconstructed from the tagged source and the commit history leading to v0.0.3.

Sources

38 - Pigsty v0.2.0

Provisioning refactor, etcd DCS, and HAProxy 2.2 support

[!INFO]

This historical version is represented by its Git tag and source tree because no GitHub Release was published.

Highlights

  • Refactored the infrastructure, node, repository, Patroni, PgBouncer, monitoring, and PostgreSQL initialization roles.
  • Added etcd as a DCS option, production/test inventory layouts, and configurable database superuser support.
  • Added Patroni pause handling, HAProxy 2.2 compatibility, and fixes for older CentOS 7 environments.

v0.2.0 predates curated GitHub Release notes. This record is reconstructed from the tagged source and the comparison with v0.1.0.

Sources

39 - Pigsty v0.1.0

Test-environment validation after the initial role-based restructuring

[!INFO]

This historical version is represented by its Git tag and source tree because no GitHub Release was published.

Highlights

  • Completed the first large-scale conversion from playbooks to reusable Ansible roles.
  • Established the initial PostgreSQL primary/standby, PgBouncer, monitoring, HAProxy, Keepalived, and repository workflows.
  • Validated the reorganized project in a production-like test environment.

v0.1.0 is an early engineering milestone rather than a curated GitHub Release. The notes are reconstructed from the tag and its commit history.

Sources