Version v3.7.0 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot. For up-to-date documentation, see the latest version.
Pigsty v3.0: Pluggable Kernels & 340 Extensions
Originally published on VONNG.
Highlights
Extension Explosion:
Pigsty v3 ships an unprecedented 340 available PostgreSQL extensions. This includes 121 extension RPM packages and 133 DEB packages — more than the total extension count in the official PGDG repositories (135 RPM / 109 DEB). Moreover, Pigsty cross-ports EL-exclusive and Debian-exclusive extensions, achieving full ecosystem parity between the two major Linux families.
Pluggable Kernels:
Pigsty v3 lets you swap out the PostgreSQL kernel. Current options include SQL Server-compatible Babelfish (wire-protocol-level emulation), Oracle-compatible IvorySQL, and PolarDB (the PostgreSQL RAC). Self-hosted Supabase is also now available on Debian systems. You can run production-grade PostgreSQL clusters with HA, IaC, PITR, and full observability while emulating MSSQL (via WiltonDB), Oracle (via IvorySQL), Oracle RAC (via PolarDB), MongoDB (via FerretDB), or Firebase (via Supabase).
Pro Edition:
We now offer Pigsty Pro Professional Edition, providing value-added services on top of the open-source version. Pro includes additional modules: MSSQL, Oracle, Mongo, K8S, Victoria, Kafka, TigerBeetle, and more, with broader support for PG major versions, operating systems, and chip architectures. It provides precision-tuned offline packages for every OS minor version, plus support for legacy systems like EL7, Debian 11, and Ubuntu 20.04. Pro also offers customizable kernel support with native deployment, monitoring, and management for PolarDB PG/Oracle to meet localization requirements.
Quick Install:
Breaking Changes
This Pigsty release bumps from 2.x to 3.0, introducing several breaking changes:
-
Primary OS support shifts to: EL 8 / EL 9 / Debian 12 / Ubuntu 22.04
- EL7 / Debian 11 / Ubuntu 20.04 are now deprecated and no longer supported
- Users requiring these systems should consider our subscription service
-
Default installation is now online; offline packages are no longer provided, resolving OS minor version compatibility issues.
- The
bootstrapprocess no longer prompts for offline package download, but will still auto-use one if/tmp/pkg.tgzexists. - For offline installation needs, build your own packages or consider our subscription service
- The
-
Pigsty upstream repositories have been consolidated, addresses changed, with GPG signing and verification for all packages
- Standard repo:
https://repo.pigsty.io/{apt/yum} - China mirror:
https://repo.pigsty.cc/{apt/yum}
- Standard repo:
-
API parameter changes and config template updates
- EL and Debian config templates are now unified, with OS-specific parameters managed in
roles/node_id/vars/. - Config directory restructured: all templates now in
conf/, organized intodefault,dbms,demo,buildcategories.
- EL and Debian config templates are now unified, with OS-specific parameters managed in
Other Features
- Epic OLAP enhancement: DuckDB 1.0.0, DuckDB FDW, PG Lakehouse, and Hydra ported to Debian.
- Vector search and FTS improvements: Vectorscale brings DiskANN vector indexing, Hunspell dictionary support, pg_search 0.9.1.
- Helped ParadeDB resolve package build issues — this extension is now available on Debian/Ubuntu.
- All Supabase-required extensions now available on Debian/Ubuntu; Supabase can now self-host on all supported OSes.
- Scenario-based extension stacks: if you’re unsure which extensions to install, we’ve prepared recommended bundles for specific use cases.
- Complete metadata tables, docs, indexes, and name mappings for all PostgreSQL ecosystem extensions, aligned across EL and Debian.
- Enhanced
proxy_envparameter to address DockerHub access issues, with simplified configuration. - Built a dedicated new repository providing all extensions for PostgreSQL 12-17, with PG16 extensions enabled by default in Pigsty.
- Upgraded existing repos with standard GPG signing and verification. APT repos now use standard layout built with
reprepro. - Sandbox environments for 1, 2, 3, 4, and 43 nodes:
meta,dual,trio,full,prod, plus quick config templates for 7 major OS distros. - PG Exporter adds PostgreSQL 17 and pgBouncer 1.23 metric collectors, with corresponding Grafana panels.
- Monitoring dashboard fixes, added log dashboards for PGSQL Pgbouncer and PGSQL Patroni panels.
- New
cache.ymlAnsible playbook replaces the oldbin/cacheandbin/release-pkgscripts for offline package creation.
API Changes
- New parameter option:
pg_modenow supportspgsql,citus,gpsql,mssql,ivory,polarfor specifying PostgreSQL cluster modepgsql: Standard PostgreSQL HA clustercitus: Citus distributed PostgreSQL native HA clustergpsql: Monitoring for Greenplum and GP-compatible databases (Pro)mssql: Install WiltonDB/Babelfish, providing Microsoft SQL Server compatibility mode with wire-protocol support, extensions unavailableivory: Install IvorySQL for Oracle-compatible PostgreSQL HA cluster with Oracle syntax/datatypes/functions/stored procedures, extensions unavailable (Pro)polar: Install PolarDB for PostgreSQL (PG RAC) open-source version for localized database support, extensions unavailable (Pro)
- New parameter:
pg_parametersfor instance-levelpostgresql.auto.confoverrides, enabling per-instance customization. - New parameter:
pg_filesfor copying additional files to PGDATA, designed for commercial PostgreSQL forks requiring license files. - New parameter:
repo_extra_packagesfor specifying additional packages to download, works withrepo_packagesfor OS-specific extension lists. - Parameter rename:
patroni_citus_dbrenamed topg_primary_dbfor specifying the primary database in a cluster (used in Citus mode) - Enhanced
proxy_env: Proxy server config now written to Docker Daemon for network access;configure -xauto-writes current environment proxy settings. - Enhanced
repo_url_packages:repo.pigsty.ioauto-replaces withrepo.pigsty.ccwhen region is China; can now specify downloaded filenames. - Enhanced
pg_databases.extensions: Theextensionfield now supports both dictionary and string modes; dictionary mode providesversionsupport for installing specific extension versions. - Enhanced
repo_upstream: If not explicitly overridden, defaults are extracted fromrepo_upstream_defaultinrpm.ymlordeb.yml. - Enhanced
repo_packages: If not explicitly overridden, defaults are extracted fromrepo_packages_defaultin the corresponding OS vars file. - Enhanced
infra_packages: If not explicitly overridden, defaults are extracted frominfra_packages_defaultin the corresponding OS vars file. - Enhanced
node_default_packages: If not explicitly overridden, defaults are extracted fromnode_packages_defaultin the corresponding OS vars file. - Enhanced
pg_packagesandpg_extensions: Extensions now undergo lookup and translation frompg_package_mapin the corresponding OS vars file. - Enhanced
node_packagesandpg_extensions: Packages are upgraded to latest version during installation;node_packagesdefault now includes[openssh-server]to help fix OpenSSH CVE - Enhanced
pg_dbsu_uid: Auto-adjusts to26(EL) or543(Debian) based on OS type, avoiding manual adjustment. - Bootstrap logic change: No longer downloads offline packages; added
-k|--keepflag to preserve existing package sources during local ansible installation. - Configure: Removed
-m|--modeparameter; use-m|--confto specify config file,-x|--proxyfor proxy config; no longer attempts to fix local SSH issues. - pgbouncer defaults:
max_prepared_statements = 128enables prepared statement support in transaction pooling mode;server_lifetimeset to 600. - Patroni template defaults: Increased
max_worker_processesby +8, raisedmax_wal_sendersandmax_replication_slotsto 50, increased OLAP template temp file limit to 1/5 of main disk.
Software Upgrades
At release time, Pigsty’s major component versions are:
- PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20
- pg_exporter : 0.7.0
- Patroni: 3.3.2
- pgBouncer: 1.23.1
- pgBackRest: 2.53.1
- duckdb : 1.0.0
- etcd : 3.5.15
- pg_timetable: 5.9.0
- ferretdb: 1.23.1
- vip-manager: 2.6.0
- minio: 20240817012454
- mcli: 20240817113350
- grafana : 11.1.4
- loki : 3.1.1
- promtail : 3.0.0
- prometheus : 2.54.0
- pushgateway : 1.9.0
- alertmanager : 0.27.0
- blackbox_exporter : 0.25.0
- nginx_exporter : 1.3.0
- node_exporter : 1.8.2
- keepalived_exporter : 0.7.0
- pgbackrest_exporter 0.18.0
- mysqld_exporter : 0.15.1
- redis_exporter : v1.62.0
- kafka_exporter : 1.8.0
- mongodb_exporter : 0.40.0
- VictoriaMetrics : 1.102.1
- VictoriaLogs : v0.28.0
- sealos: 5.0.0
- vector : 0.40.0
Pigsty has recompiled all PostgreSQL extensions. For the latest extension versions, see the Extension List.
New Applications
Pigsty now provides out-of-the-box Docker Compose templates for Dify and Odoo:
Pigsty Pro now offers pilot Kubernetes deployment support and Kafka KRaft cluster deployment with monitoring:
KUBE: Deploy Pigsty-managed Kubernetes clusters using cri-dockerd or containerdKAFKA: Deploy HA Kafka clusters powered by the KRaft protocol
Bug Fixes
- CVE-2024-6387 is automatically patched during Pigsty installation via the
node_packagesdefault value[openssh-server]. - Fixed Loki memory consumption issue caused by high-cardinality Nginx log labels.
- Fixed bootstrap failure on EL8 due to upstream Ansible dependency changes (python3.11-jmespath upgraded to python3.12-jmespath).
v3.0.0 Release Notes
Highlights
- PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20
- 340 PostgreSQL extensions available
- EL/Debian extension ecosystem parity achieved
- Pluggable kernels: Babelfish, IvorySQL, PolarDB support
- Supabase now available on Debian systems
- Pigsty Pro edition with extended OS and module support
Breaking Changes
- Primary OS support: EL8/EL9, Debian 12, Ubuntu 22.04
- Legacy systems (EL7, Debian 11, Ubuntu 20.04) require subscription
- Default online installation; offline packages discontinued
- Repository consolidation with GPG signing
API Changes
- New
pg_modeoptions:pgsql,citus,gpsql,mssql,ivory,polar - New parameters:
pg_parameters,pg_files,repo_extra_packages patroni_citus_dbrenamed topg_primary_db- Enhanced:
proxy_env,repo_url_packages,pg_databases.extensions - Auto-derived defaults for
repo_upstream,repo_packages,infra_packages,node_default_packages - Bootstrap
-k|--keepflag; Configure-m|--confand-x|--proxyflags
Bug Fixes
- OpenSSH CVE-2024-6387 auto-remediation
- Loki high-cardinality label memory fix
- EL8 Ansible dependency bootstrap fix
