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.
- timescaledb periods temporal_tables emaj table_version pg_cron pg_later pg_background pg_timetable
- postgis pgrouting pointcloud pg_h3 q3c ogr_fdw geoip #pg_geohash #mobilitydb
- pgvector pgvectorscale pg_vectorize pg_similarity pg_tiktoken pgml #smlar
- pg_search pg_bigm zhparser hunspell
- hydra pg_lakehouse pg_duckdb duckdb_fdw pg_fkpart pg_partman plproxy #pg_strom citus
- pg_hint_plan age hll rum pg_graphql pg_jsonschema jsquery index_advisor hypopg imgsmlr pg_ivm pgmq pgq #rdkit
- pg_tle plv8 pllua plprql pldebugger plpgsql_check plprofiler plsh #pljava plr pgtap faker dbt2
- prefix semver pgunit md5hash asn1oid roaringbitmap pgfaceting pgsphere pg_country pg_currency pgmp numeral pg_rational pguint ip4r timestamp9 chkpass #pg_uri #pgemailaddr #acl #debversion #pg_rrule
- topn pg_gzip pg_http pg_net pg_html5_email_address pgsql_tweaks pg_extra_time pg_timeit count_distinct extra_window_functions first_last_agg tdigest aggs_for_arrays pg_arraymath pg_idkit pg_uuidv7 permuteseq pg_hashids
- sequential_uuids pg_math pg_random pg_base36 pg_base62 floatvec pg_financial pgjwt pg_hashlib shacrypt cryptint pg_ecdsa pgpcre icu_ext envvar url_encode #pg_zstd #aggs_for_vecs #quantile #lower_quantile #pgqr #pg_protobuf
- pg_repack pg_squeeze pg_dirtyread pgfincore pgdd ddlx pg_prioritize pg_checksums pg_readonly safeupdate pg_permissions pgautofailover pg_catcheck preprepare pgcozy pg_orphaned pg_crash pg_cheat_funcs pg_savior table_log pg_fio #pgpool pgagent
- pg_profile pg_show_plans pg_stat_kcache pg_stat_monitor pg_qualstats pg_store_plans pg_track_settings pg_wait_sampling system_stats pg_meta pgnodemx pg_sqlog bgw_replstatus pgmeminfo toastinfo pagevis powa pg_top #pg_statviz #pgexporter_ext #pg_mon
- passwordcheck supautils pgsodium pg_vault anonymizer pg_tde pgsmcrypto pgaudit pgauditlogtofile pg_auth_mon credcheck pgcryptokey pg_jobmon logerrors login_hook set_user pg_snakeoil pgextwlist pg_auditor noset #sslutils
- wrappers multicorn mysql_fdw tds_fdw sqlite_fdw pgbouncer_fdw mongo_fdw redis_fdw pg_redis_pubsub kafka_fdw hdfs_fdw firebird_fdw aws_s3 log_fdw #oracle_fdw #db2_fdw
- orafce pgtt session_variable pg_statement_rollback pg_dbms_metadata pg_dbms_lock pgmemcache #pg_dbms_job #wiltondb
- pglogical pgl_ddl_deploy pg_failover_slots wal2json wal2mongo decoderbufs decoder_raw mimeo pgcopydb pgloader pg_fact_loader pg_bulkload pg_comparator pgimportdoc pgexportdoc #repmgr #slony
- gis-stack rag-stack fdw-stack fts-stack etl-stack feat-stack olap-stack supa-stack stat-stack json-stack
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:
curl -fsSL https://repo.pigsty.cc/get | bash
cd ~/pigsty; ./bootstrap; ./configure; ./install.yml
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
MD5 (pigsty-v3.0.0.tgz) = acc802fc2a47a838f09a39e7615ee4d9









