Skip to content

Pigsty v4.0.0-c1 Release Notes

Choose a tag to compare

@Vonng Vonng released this 07 Jan 10:38
· 35 commits to main since this release

Release Date: 2026-01-07 | GitHub | Docs EN | Docs CN

curl https://pigsty.cc/get | bash

244 commits, 554 files changed, +94,508 / -41,374 lines


Highlights

  • Observability Revolution: Prometheus → VictoriaMetrics (10x perf), Loki+Promtail → VictoriaLogs+Vector
  • Security Hardening: Auto-generated passwords, etcd RBAC, firewall/SELinux modes, permission tightening
  • Database Management: pg_databases state (create/absent/recreate), instant clone with strategy
  • PITR & Fork: /pg/bin/pg-fork for instant CoW cloning, enhanced pg-pitr with pre-backup
  • Multi-Cloud Terraform: AWS, Azure, GCP, Hetzner, DigitalOcean, Linode, Vultr, TencentCloud templates
  • License: AGPL-3.0 → Apache-2.0

Software Versions

Infrastructure

Package Version Package Version
grafana 12.3.1 victoria-metrics 1.132.0
victoria-logs 1.43.1 vector 0.52.0
alertmanager 0.30.0 blackbox_exporter 0.28.0
etcd 3.6.7 duckdb 1.4.3
pg_exporter 1.1.1 pgbackrest_exporter 0.22.0
minio 20251203 pig 0.9.0
uv 0.9.18 (new) opencode 1.0.223 (new)

PostgreSQL Extensions

New: pg_textsearch 0.1.0, pg_clickhouse 0.1.0, pg_ai_query 0.1.1

Updated: IvorySQL 5.1, timescaledb 2.24.0, pg_search 0.20.4, pg_duckdb 1.1.1, pg_biscuit 2.0.1, pg_anon 2.5.1, pg_enigma 0.5.0, pg_session_jwt 0.4.0, pg_vectorize 0.26.0, vchord_bm25 0.3.0, wrappers 0.5.7

PG18 Deb Fixes: pg_vectorize, pg_tiktoken, pg_tzf, pglite_fusion, pgsmcrypto, pgx_ulid, plprql, pg_summarize, supautils


Breaking Changes

Observability Stack

Before After
Prometheus VictoriaMetrics
Loki VictoriaLogs
Promtail Vector

Parameters

Removed Replacement
node_disable_firewall node_firewall_mode (off/none/zone)
node_disable_selinux node_selinux_mode (disabled/permissive/enforcing)
pg_pwd_enc removed
infra_pip infra_uv

Defaults Changed

Parameter Before → After
grafana_clean true → false
effective_io_concurrency 1000 → 200
install.yml renamed to deploy.yml (symlink kept)

New Features

Observability

  • VictoriaMetrics + VictoriaLogs + Vector full stack
  • Unified log collection for all components (PG, pgBouncer, Redis, MinIO, etcd, Nginx, Grafana)
  • UTC timestamps, weekly log rotation, >1MB temp file logging
  • New pg_timeline collector, node-vector dashboard

Security

  • configure -g auto-generates random strong passwords
  • etcd RBAC enabled, root password in /etc/etcd/etcd.pass
  • HAProxy/Nginx/DNSMasq/Redis SELinux contexts
  • node_admin_sudo parameter (all/nopass)
  • vip_auth_pass for VRRP authentication
  • Nginx basic auth support

PostgreSQL

  • pg_databases: state (create/absent/recreate), strategy (clone method), is_template, locale params
  • pg_users: admin option with ADMIN OPTION
  • pg_io_method: auto/sync/worker/io_uring
  • idle_replication_slot_timeout: 7d (3d for crit)
  • file_copy_method: clone for PG18 instant DB cloning
  • HBA order field, IPv6 localhost support

PITR

  • /pg/bin/pg-fork: instant CoW instance cloning (XFS reflink)
  • /pg/bin/pg-pitr: instance-level PITR with pre-backup
  • Fixed multi-replica clonefrom timing issues

Infrastructure

  • /infra symlink → /data/infra, DNS in /infra/hosts
  • grafana_pgurl: PostgreSQL as Grafana backend
  • Multi-cloud Terraform templates: AWS, Azure, GCP, Hetzner, DigitalOcean, Linode, Vultr, TencentCloud
  • Vagrant libvirt: 128GB XFS disk on /data
  • 36-node simu → 20-node template

Bug Fixes

  • Certificate validity for Chrome compatibility
  • Vector 0.52 syslog_raw parsing
  • pg_pitr replica clonefrom timing
  • Ansible SELinux race condition in dnsmasq
  • EL9 aarch64 patroni & llvmjit
  • Debian groupadd path
  • Empty sudoers file generation
  • pgbouncer pid path (/run/postgresql)
  • duckdb.allow_community_extensions always active
  • pg_partman hidden for EL8 (upstream break)

Compatibility

OS x86_64 aarch64
EL 8/9/10
Debian 11/12/13
Ubuntu 22.04/24.04

PostgreSQL: 13, 14, 15, 16, 17, 18