This is the multi-page printable view of this section. .
Release
- 1: Pigsty v1.5.1
- 2: Pigsty v1.5.0
- 3: Pigsty v1.4.1
- 4: Pigsty v1.4.0
- 5: Pigsty v1.3.1
- 6: Pigsty v1.3.0
- 7: Pigsty v1.2.0
- 8: Pigsty v1.1.1
- 9: Pigsty v1.1.0
- 10: Pigsty v1.0.1
- 11: Pigsty v1.0.0
- 12: Pigsty v0.9.1
- 13: Pigsty v0.9.0
- 14: Pigsty v0.8.0
- 15: Pigsty v0.7.0
- 16: Pigsty v0.6.0
- 17: Pigsty v0.5.2
- 18: Pigsty v0.5.1
- 19: Pigsty v0.5.0
- 20: Pigsty v0.4.0
- 21: Pigsty v0.3.0
- 22: Pigsty v0.0.5
- 23: Pigsty v0.0.4
- 24: Pigsty v0.0.3
- 25: Pigsty v0.2.0
- 26: Pigsty v0.1.0
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 v1.5.1
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_databaseandgrafana_pgurlmarked 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
2 - Pigsty v1.5.0
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_probackupbackup 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_registerrole - Metrics collector pg_exporter updated to v0.5.0, new features:
scaleanddefault, allowing metric multiplication factors and default values pg_bgwriter,pg_wal,pg_query,pg_db,pgbouncer_stattime-related metrics now uniformly scaled to seconds from milliseconds/microseconds- Related counter metrics in
pg_tablenow have default value0instead ofNaN pg_classmetrics collector removed by default, related metrics added topg_tableandpg_indexcollectorspg_table_sizemetrics collector now enabled by default with 300-second cache time
Deployment
- New optional package
docker.tgzwith 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_typespecifies DCS service for PG high-availability: Consul (default), ETCD (alternative)node_crontabparameter for configuring node scheduled tasks like database backups, VACUUM, statistics collection- New
pg_checksumoption: when enabled, database cluster enables data checksums (previously onlycrittemplate enabled by default) - New
pg_delayoption: when instance is Standby Cluster Leader, this parameter configures a delayed replica - New
pg_probackuppackage, default rolereplicatornow has backup-related function permissions - Redis deployment split into two parts: Redis node and Redis instance,
redis_portparameter controls specific instances - Loki and Promtail now installed via
fpm-built RPM packages - DCS3 config template now uses a 3-node
pg-metacluster 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 existnode_crontab_overwrite: Overwrite/etc/crontabinstead of appendingnode_crontab: Node crontab content to append or overwritenameserver_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_cleanpg_disable_purge->pg_safeguarddcs_exists_action->dcs_cleandcs_disable_purge->dcs_safeguard
Parameter Renames
node_ntp_config->node_ntp_enablednode_admin_setup->node_admin_enablednode_admin_pks->node_admin_pk_listnode_dns_hosts->node_etc_hosts_defaultnode_dns_hosts_extra->node_etc_hostsnode_dns_server->node_dns_methodnode_local_repo_url->node_repo_local_urlsnode_packages->node_packages_defaultnode_extra_packages->node_packagesnode_packages_meta->node_packages_metanode_meta_pip_install->node_packages_meta_pipnode_sysctl_params->node_tune_paramsapp_list->nginx_indexesgrafana_plugin->grafana_plugin_methodgrafana_cache->grafana_plugin_cachegrafana_plugins->grafana_plugin_listgrafana_git_plugin_git->grafana_plugin_githaproxy_admin_auth_enabled->haproxy_auth_enabledpg_shared_libraries->pg_libsdcs_type->pg_dcs_type
Sources
3 - Pigsty v1.4.1
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_agefrom 100000000 to 1000000000
Sources
4 - Pigsty v1.4.0
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
downloadscript to download and extract packages
Monitoring Enhancements
- Split monitoring into 5 categories:
INFRA,NODES,REDIS,PGSQL,APP - Logging enabled by default
lokiandpromtailnow enabled by default, with prebuilt loki-rpm
- Model and labels
- Added hidden
dsprometheus datasource variable to all dashboards - Added
iplabel to all metrics, used as join key between database and node metrics
- Added hidden
- 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_clusterandnodename
- 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.ymlplaybook - 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 clusternodename_overwrite: If set, nodename will be set to node’s hostnamenodename_exchange: Exchange node hostnames between play hosts (in/etc/hosts)node_dns_hosts_extra: Extra static DNS records easily overridable by single instance/clusterpatroni_enabled: If disabled, postgres & patroni bootstrap not executed duringpostgresrolepgbouncer_enabled: If disabled, pgbouncer not started duringpostgresrolepg_exporter_params: Extra URL parameters for pg_exporter when generating monitoring target URLpg_provision: Boolean variable indicating whether to execute provisioning part ofpostgresroleno_cmdb: Used forinfra.ymlandinfra-demo.ymlplaybooks, won’t create CMDB on meta node
Sources
5 - Pigsty v1.3.1
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.ymlplaybook for one-click bootstrap - New
infra-jupyter.ymlplaybook for optional JupyterLab server - New
infra-pgweb.ymlplaybook for optional PGWeb server - Added
pgalias on meta node for starting PostgreSQL cluster from admin user - Adjusted
max_locks_per_transactionsin all Patroni config templates pertimescaledb-tunerecommendations - 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_serviceissues inregisterrole when starting playbook mid-run - Fixed Nginx homepage rendering on hosts without
pg_clustervariable - Fixed style issues when upgrading to Grafana 8.3.1
Sources
6 - Pigsty v1.3.0
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
perfas default package
Sources
7 - Pigsty v1.2.0
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_tuneandpg_conftemplates - Reworked bloat-related views, exposing more information
- Removed TimescaleDB and Citus internal monitoring
- Added
pgsql-audit.ymlplaybook 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
8 - Pigsty v1.1.1
- Replaced TimescaleDB
apacheversion withtimescaleversion - 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.
9 - Pigsty v1.1.0
Feature Enhancements
- Added
pg_dummy_filesizeto 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_upstreamnow 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_existtorepo_exists repo_addressdefault value changed topigstyinstead ofyum.pigsty- HAProxy access point changed to
http://pigstyinstead ofhttp://h.pigsty
Sources
10 - Pigsty v1.0.1
2021-09-14
Documentation Update
- Chinese documentation now available
- Machine-translated English documentation now available
Bug Fixes
pgsql-removeno 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 usesssh -t sudo -n lsfor permission check) - Fixed
pg-backupscript typo
Optimizations
- Removed NTP sanity check alert (duplicate of ClockSkew)
- Removed collector.systemd to reduce overhead
Sources
11 - Pigsty v1.0.0
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
lokiandpromtailfor logging - Added new role
environto setup environment for admin user on meta node - Default to
staticservice discovery for Prometheus (instead ofconsul) - Added new role
removefor 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
registerrole, 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
covidfor COVID-19 data visualization - Added sample app
isdfor ISD weather data visualization
Other
- Added JupyterLab for full Python data science environment
- Added
vonng-echarts-panelto 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_url→grafana_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
12 - Pigsty v0.9.1
Update package version:
- PostgreSQL 13.3
- Grafana 7.5.6
Add configure support.
Now install pigsty with 3 steps: download, configure and install:
WoW! just like old time!
Sources
13 - Pigsty v0.9.0
New Stuff
- One-liner install:
curl -fsSL https://pigsty.cc/install | bashbootstraps 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.ymlandpgsql-promtail.ymlwire things up. - Binary exporters: grab monitoring binaries with
files/get_bin.shif you don’t want to rely on repos. - Flight mode: once the meta node is initialized you can run
bin/upgradeto switch into a dynamic inventory using data stored insidepg-meta.
Fixes
- Cleaned up HAProxy health checks that were flooding PG and Patroni logs with
connection resetnoise. - Patroni logs now carry readable timestamps (no more millisecond fragments) and explicit time zones.
- Monitoring queries run by
dbuser_monitorlog 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_swapdefaults tofalse; Pigsty no longer nukes swap by default.node_sysctl_paramsstops writing kernel tunables unless you explicitly set them.grafana_plugin: installnow means “download from CDN if cache is missing.”repo_url_packagespulls extra RPMs from the Pigsty CDN so installs inside China work out of the box.proxy_env.no_proxyincludes the CDN endpoints.grafana_customizedefaults tofalse; flip it on only if you have the Pigsty Pro UI bits.node_admin_pk_currentadds your current~/.ssh/id_rsa.pubto the admin account.- Loki/Promtail knobs:
loki_clean,loki_data_dir,promtail_enabled,promtail_clean,promtail_port,promtail_status_file,promtail_send_url.
Sources
14 - Pigsty v0.8.0
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
15 - Pigsty v0.7.0
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.ymlandpgsql-createdb.ymlfor 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:
Removed option:
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 username → name, groups → roles, 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
16 - Pigsty v0.6.0
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-testsandbox cluster. - Patched the dashboard title typo on PG Overview.
Feature Work
- Monitoring supply chain overhaul: Prometheus can now run fully static, exporters accept
service_registrytoggles, andexporter_binary_installlets you drop binaries without hitting repos. Each exporter has its own*_enabledflag. - 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_offlinefor 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:
Removed knobs:
Sources
17 - Pigsty v0.5.2
[!INFO]
This historical version is represented by its Git tag and source tree because no GitHub Release was published.
Highlights
- Made
pigsty.ymlthe default configuration and reorganized the standardsandbox.yml,infra.yml, andpgsql.ymlworkflows. - 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
18 - Pigsty v0.5.1
[!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.5documentation snapshot.
v0.5.1 is a tagged maintenance snapshot without a separately authored GitHub Release body.
Sources
19 - Pigsty v0.5.0
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-replicationdashboard 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:
20 - Pigsty v0.4.0
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
21 - Pigsty v0.3.0
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
22 - Pigsty v0.0.5
[!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
23 - Pigsty v0.0.4
[!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
24 - Pigsty v0.0.3
[!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
25 - Pigsty v0.2.0
[!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
26 - Pigsty v0.1.0
[!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.