Pigsty v4.0: Into the AI Era #684
Vonng
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Quick Start
curl https://pigsty.io/get | bash -s v4.0.0318 commits, 604 files changed, +118,655 / -327,552 lines
Release Date: 2025-12-25 | GitHub | Docs EN | Docs CN
Highlights
pg_databasesstate (create/absent/recreate), instant clone withstrategy/pg/bin/pg-forkfor instant CoW cloning, enhancedpg-pitrwith pre-backuppg_rto_planwith 4 RTO presets (fast/norm/safe/wide),pg_crontabscheduled tasksInfrastructure Package Updates
MinIO now uses pgsty/minio fork RPM/DEB.
Docker Support
Pigsty now supports running in Docker containers with full systemd support, working on both macOS (Docker Desktop) and Linux.
Quick Start:
New Modules
v4.0.0 adds two optional modules that don't affect core Pigsty functionality:
JUICE Module: JuiceFS Distributed Filesystem
node-juicedashboard for JuiceFS monitoringjuice.ymlplaybook for deploymentjuice_cache,juice_instancesVIBE Module: AI Coding Sandbox (Code-Server + JupyterLab + Node.js + Claude Code)
Code-Server: VS Code in browser
code_enabled: falseto disablecode_enabled,code_port,code_data,code_password,code_galleryJupyterLab: Interactive computing environment
jupyter_enabled: falseto disablejupyter_enabled,jupyter_port,jupyter_data,jupyter_password,jupyter_venvNode.js: JavaScript runtime environment
region=chinanodejs_enabled: falseto disablenodejs_enabled,nodejs_registryClaude Code: AI coding assistant CLI configuration
claude-codedashboard for usage monitoringclaude_enabled: falseto disableclaude_enabled,claude_envNew
vibe.ymlplaybook for full VIBE deploymentUse
conf/vibe.ymltemplate for quick AI coding sandbox setupCommon parameter:
vibe_data(default/fs) for workspace directoryPostgreSQL Extension Updates
Major extensions add PG 18 support: age, citus, documentdb, pg_search, timescaledb, pg_bulkload, rum, etc.
New Extensions:
Major Updates:
pgBackRest updated to 2.58 with HTTP support.
Observability
grafana_pgurlparameter for using PG as Grafana backend storagegrafana_view_passwordparameter for Grafana Meta datasource passwordpgbackrest_exporterdefault cache interval reduced from 600s to 120sgrafana_cleandefault changed fromtruetofalsepg_timelinecollector for real-time timeline metricspg_timeline_idpg:ixact_ratiometric for idle transaction ratio monitoringpg_exporterupdated to 1.1.2 withpg_timelinecollector and numerous fixespg_recvmetrics collectornode-vectordashboard for Vector monitoringnode-juicedashboard for JuiceFS monitoringclaude-codedashboard for Claude Code usage monitoringInterface Improvements
Playbook Rename
install.ymlrenamed todeploy.ymlfor better semanticsvibe.ymlplaybook for VIBE AI coding sandboxpg_databases Improvements
statefield (create,absent,recreate)strategyparameter for clone methodlocale_provider,icu_locale,icu_rules,builtin_localeis_templateto mark template databasesstate: absentin extension to remove extensionspg_users Improvements
adminparameter similar torolesbut withADMIN OPTIONfor re-grantingsetandinheritoptions for user role attributespg_hba Improvements
orderfield for HBA rule prioritynode_firewall_intranetOther Improvements
node_crontabauto-restores original crontab onnode-rminfra_extra_servicesfor homepage service entriesParameter Optimization
I/O Parameters
pg_io_method: auto, sync, worker, io_uring options, default workermaintenance_io_concurrencyset to 100 for SSDeffective_io_concurrencyreduced from 1000 to 200file_copy_methodset toclonefor PG18 instant database cloningReplication & Logging
idle_replication_slot_timeout: default 7d, crit template 3dlog_lock_failures: enabled for oltp, crit templatestrack_cost_delay_timing: enabled for olap, crit templateslog_connections: auth logs for oltp/olap, full logs for critHA Parameters
pg_rto_planintegrating Patroni & HAProxy RTO configfast: Fastest failover (~15s), for high availability requirementsnorm: Standard mode (~30s), balanced (default)safe: Safe mode (~60s), reduced false positiveswide: Relaxed mode (~120s), for geo-distributed deploymentspg_crontab: scheduled tasks for postgres dbsupg_checksumsis offBackup & Recovery
archive_modechanged topreservepg-pitrsupports pre-recovery backupOther
duckdb.allow_community_extensionsalways active issueArchitecture Improvements
Directories & Portal
/infrasymlink pointing to/data/infraon Infra nodes/data/infrafor container convenience/data/nginx/pigsty,/wwwsymlinks to/data/nginx/infra/hosts, solving Ansible SELinux race conditionh.pigstytoi.pigsty, added Chinese homepageScripts
/pg/bin/pg-forkfor instant CoW replica creation/pg/bin/pg-pitrfor instance-level PITR with pre-backup/pg/bin/pg-drop-rolefor safe user deletionbin/pgsql-extfor extension installationpg-vacuumandpg-repackscriptsNew Playbooks
juice.yml: Deploy JuiceFS instancesvibe.yml: Deploy VIBE AI sandbox (Code-Server, JupyterLab, Node.js, Claude Code)Module Improvements
infratonodemodule, newnode_uv_envparameterpg_remove/pg_pitretcd metadata removal now runs on etcd clustermajor.minor) for EPEL 10 / PGDG 9/10 reposmetaparameter in repo definitions/data0.0.0.0to*System Tuning
ip_local_port_rangestart/end value parity alignmentMulti-Cloud
Security Improvements
Password Management
configuresupports-gflag for auto-generating strong random passwordsFirewall & SELinux
node_disable_firewallwithnode_firewall_mode(off/none/zone)node_disable_selinuxwithnode_selinux_mode(disabled/permissive/enforcing)Access Control
/etc/etcd/etcd.pass, admin-readable onlyadmin_ipto Patroni API whitelistnode_admin_sudoparameter for admin sudo mode (all/nopass)Certificates & Auth
vip_auth_passparameter for VRRP authenticationOther
ansible copy contentempty field errorspg_pitrrace conditions during Patroni cluster recoveryfiles/pki/cadirectory with mode 0700Bug Fixes
/run/postgresqlParameter Changes
New Parameters
node_firewall_modenode_selinux_modenode_firewall_intranetnode_admin_sudopg_io_methodpg_rto_planpg_crontabvip_auth_passgrafana_pgurlgrafana_view_passwordinfra_extra_servicesjuice_cachejuice_instancesvibe_datacode_enabledcode_portcode_datacode_passwordcode_galleryjupyter_enabledjupyter_portjupyter_datajupyter_passwordjupyter_venvclaude_enabledclaude_envnodejs_enablednodejs_registrynode_uv_envnode_pip_packagesRemoved Parameters
node_disable_firewallnode_firewall_modenode_disable_selinuxnode_selinux_modeinfra_pip_packagesnode_pip_packagespgbackrest_cleanpg_pwd_enccode_homevibe_datajupyter_homevibe_dataDefault Value Changes
grafana_cleaneffective_io_concurrencynode_firewall_modeinstall.ymldeploy.ymlCompatibility
PostgreSQL: 13, 14, 15, 16, 17, 18
Checksums
This discussion was created from the release Pigsty v4.0: Into the AI Era.
Beta Was this translation helpful? Give feedback.
All reactions