Release notes for every published pig version, newest first. Artifacts and checksums for
each version live on its GitHub release page.
Already installed? pig update upgrades in place through the native package manager; see
Installation for the other paths.
pig v1.6.1
pig v1.6.1 refreshes the bundled extension catalog and aligns the embedded Pigsty version with 4.5.0.
By Ruohang Feng |
pig v1.6.1 is a maintenance release on top of v1.6.0. It carries no new
commands and no flag changes — the point of the release is the catalog that ships inside the
binary.
What changed
Extension catalog refreshed. The embedded extension.csv is regenerated from the
Pigsty package repositories, so pig ext list and pig install resolve against current
package versions without a pig ext reload round trip.
Pigsty version aligned to 4.5.0. The embedded Pigsty version that pig sty and
pig status report now points at Pigsty 4.5.0.
Version strings bumped across the build metadata and pig update.
The catalog still covers 562 packaged extensions across PostgreSQL
14–18 on EL 8/9/10, Debian 12/13, and Ubuntu 22/24/26, for both x86_64 and aarch64.
Upgrading
pig update # upgrade in place through the native package managerpig update -v 1.6.1 # or pin the exact version
A fresh install picks up v1.6.1 automatically:
curl -fsSL https://repo.pigsty.io/pig | bash # global (Cloudflare CDN)curl -fsSL https://repo.pigsty.cc/pig | bash # mainland China mirror
You can also refresh only the catalog on an existing install, without upgrading the binary:
pig ext reload # download the latest catalog to ~/.pig/extension.csv
Pig v1.6.0 is a major release: pig pt becomes a transparent patronictl launcher, the new root-level pig inventory command group brings lossless editing and validation of pigsty.yml (with an experimental PostgreSQL CMDB bridge), pig sty grafana adds native Grafana dashboard management, and the packaged extension catalog grows to 562.
Highlights
pig pt is rewritten as a native patronictl passthrough: all cluster commands (list, restart, switchover, failover, edit-config, …) forward directly with native flags, prompts, output, and exit codes, so new patronictl features work without waiting for a pig release. Local helpers status, log, set, and service/svc remain, with new -c/--config-file, -d/--dcs-url, -k/--insecure options and a pig pt -- … escape hatch.
New root-level pig inventory command group (alias inv): status / list / show / edit / validate / check / diff — a lossless YAML engine that preserves comments, formatting, key order, and anchors byte-for-byte; edit validates before writing and writes atomically, so invalid YAML can never reach disk.
New experimentalpig inventory cmdb subcommands (check / init / load / dump / enable / disable) exchange the inventory with the Pigsty CMDB in PostgreSQL over a native driver, with bounded timeouts and digest-pinned confirmation for destructive operations.
New pig sty grafana (alias gf) manages Grafana dashboards natively over HTTP: info / list / boot / load / init / dump / clean / lang / style. The pig sty surface is simplified: sty edit / validate / check / cmdb / dashboard / release are removed in favor of pig inventory, pig sty grafana, and pig sty list / get.
Reliability hardening: repo / catalog / download writes are atomic (no more truncated files on interrupt); structured -o json|yaml keeps stdout as a pure result envelope with wrapped-tool output on stderr; finer exit codes (usage errors → 2, missing --yes confirmation → 7); Ansible list variables are JSON-encoded.
Repository refresh: MySQL repos upgraded to 8.4 LTS, new Percona XtraBackup (pxb84) and MySQL Tools repos, Kubernetes v1.36, LLVM apt coverage for Debian/Ubuntu 26, Percona TDE sourced directly from repo.percona.com, wiltondb repo removed.
Toolchain: Go 1.26.5, new native PostgreSQL driver (pgx v5), embedded Pigsty version 4.4.0.
33 new extensions, including the pg_lake family (pg_lake, pg_lake_table, pg_lake_engine, pg_lake_iceberg, pg_lake_copy), pg_jieba, pg_cjk_parser, pg_fts, pgmonitor, pgmemento, pg_tiktoken_c, online_advisor, pgsqlmock, and plx.
2 removed: pg_analytics, spat; 58 version refreshes, including vector 0.8.5, timescaledb 2.28.3, pg_search 0.24.3, pg_tde 2.2.1, and powa 5.2.0.
Package aliases synced with Pigsty: kafka is renamed to kafka-stack; the Debian/Ubuntu postgresql alias now maps to postgresql-$v only (use pgsql / pgsql-full for the full dev set).
Compatibility Notes
⚠ pig pt failover <name>: the positional argument is now the cluster, not the promotion candidate — use pig pt failover CLUSTER --candidate MEMBER and review any failover automation before upgrading.
pig pt positionals are native cluster-first (restart CLUSTER [MEMBER]); forwarded commands return native patronictl exit codes, own their confirmation prompts (-y no longer gates them), and no longer support -o json (use native --format json). pig pt config is replaced by pig pt set K=V and native show-config / edit-config.
In structured output mode, wrapped-tool output moves to stderr and stdout carries only the JSON/YAML envelope — update scripts that parsed mixed output.
pig inventory edit tightens the inventory file mode to 0600 after a successful edit, since the file may contain credentials.
Pig v1.5.0 is a PostgreSQL operations release for day-to-day DBA work. It adds local database clone/fork workflows, clarifies the boundaries between pg, pt, pb, and pitr, and tightens preview, confirmation, and structured-output behavior for high-risk operations.
Highlights
pig pg is now more focused on local PostgreSQL operations. pig pg clone creates quick database-level copies, while pig pg fork creates disposable physical instance forks for local validation, recovery drills, and isolated experiments.
Recovery flows are split more clearly: pig pitr is the orchestration entry point across Patroni, PostgreSQL, and pgBackRest; pig pb restore remains the low-level pgBackRest restore primitive. Restore commands now require an explicit target and provide more concrete plans and post-restore guidance.
Patroni operations are more predictable: high-risk actions such as pig pt restart, reinit, switchover, and failover use Pig-managed confirmation and plan output; pig pt config pg points operators to pig pt restart --pending when a restart is required.
Automation is safer: structured output no longer implies confirmation for destructive commands. High-risk execution requires explicit -y/--yes, while --plan and next_actions are more consistent for preview-then-execute workflows.
Logs and status output are more useful during incidents: pg, pb, and pt log commands now cover common latest / tail / show / grep workflows, and structured log snapshots use JSONL semantics.
Build and release defaults were refreshed: Pig is 1.5.0, embedded Pigsty is 4.4.0, and pig build pgrx defaults to cargo-pgrx 0.19.1.
Extension Catalog
Available extensions: 524 -> 531, with no removals.
New extensions: pg_ducklake, pgdisablelogerror, pg_stat_log, pg_stat_plans, passwordpolicy, db2fce, plpgsql_wrap.
Refreshed a batch of existing extension versions and package metadata, including timescaledb 2.28.2, postgis 3.6.4, vector 0.8.4, biscuit 2.4.1, citus 14.1.0, orioledb 1.8, documentdb 0.113, credcheck 5.0, and pgtt 4.5.
orioledb aliases no longer pin to PG17; they resolve against the requested PostgreSQL major. EL9 ARM64 Patroni aliases now point to noarch packages.
Compatibility Notes
Use -y/--yes for destructive operations in automation; structured output mode no longer substitutes for human confirmation.
pig pb restore and pig pitr require exactly one explicit recovery target; use --target-action=promote for auto-promote behavior.
Several ambiguous short options were cleaned up. For log commands, -o json means a JSONL snapshot and is not used for tail/follow streaming modes.
Refresh the built-in extension catalog from 510 to 524 available extensions. This adds 14 extensions: pg_stl, pgmnemo, psql_bm25s, pg_orca, pg_sorted_heap, graph, pgrdf, fsm_core, jsonschema, pg_durable, pg_mockable, pg_uuid_v8, pg_stat_backtrace, and pg_projection.
Update package metadata for 48 existing extensions, including timescaledb 2.28.0, timescaledb_toolkit 1.23.0, pg_task 2.1.29, pg_search 0.24.0, pg_clickhouse 0.3.2, pg_graphql 1.6.1, documentdb 0.112, toastinfo 1.7, wrappers 0.6.1, and pgclone 4.3.2. No extensions were removed or demoted.
Add PostgreSQL 19 beta install/build/config support. PG19 is accepted as an explicit installable major, while PostgreSQL 18 remains the stable default for auto-detection, catalog display, and latest-version aliases.
Add pg19 package aliases and PG19 category alias resolution. PG19 category aliases borrow the PostgreSQL 18 visibility template and limit beta package expansion to PGDG-origin entries.
Teach pig sty conf -v 19 to enable the beta repository module when the template supports it, and emit clear warnings when a template is not tuned for PG19 beta or cannot enable the beta repo automatically.
Fix Patroni cluster operations by passing the resolved CLUSTER_NAME to patronictl restart, reinit, switchover, and failover; pig pt list also accepts an optional cluster name.
Bump the default pgrx version for pig build pgrx from 0.18.0 to 0.18.1.
Bump release metadata to v1.4.2, refresh Go module checksums, and add focused tests for PG19 aliases/config generation plus Patroni cluster-scope behavior.
Refresh the extension catalog and increase the total available extensions to 510, with version bumps such as timescaledb 2.26.3, decoderbufs 3.5.0, pgclone 4.0.0, and nominatim_fdw 1.3.
Bump the default pgrx version from 0.17.0 to 0.18.0 and align related Rust extension builds.
Refresh authoritative source bundles for pig build get, covering Cloudberry / OrioleDB build inputs and bundled artifacts for RDKit and OneSparse-related packages.
Fix repo set flag isolation and correct schema maintenance SQL.
Parse multi-source Source fields (whitespace/newline/tab) and deduplicate entries.
Add source mappings for agensgraph / agentsgraph.
pgedge now downloads both postgresql-17.9.tar.gz and spock-5.0.5.tar.gz.
Dependency resolution and install improvements (pig build dep):
RPM dependencies can infer PG major from pgmajorversion in spec files; missing spec/control files now return explicit errors.
DEB dependency parsing now covers Build-Depends / Build-Depends-Arch / Build-Depends-Indep, including multiline fields, alternatives, arch qualifiers, and build-profile cleanup.
PGVERSION placeholders can be expanded from --pg, installed PG majors, or extension metadata.
Dependency install failures are downgraded to warnings so batch runs continue.
DEB build result semantics fixed (pig build ext/pkg):
Successful build command exit code is authoritative; artifact discovery is best-effort warning only.
Suppress empty package-list banners on successful no-artifact runs.
Partial artifacts are warnings, not failures.
Build logs now print real metadata source/version values instead of always composing name-version.
After alias resolution, removed/updated now returns resolved package names instead of extension aliases.
Extension catalog and alias updates:
New aliases: agensgraph / agens, pgedge, babelfishpg.
openhalodb is aligned to PG14 package naming; ivorysqldb naming is aligned.
Fork metadata and availability matrix were refreshed in batch (including timescaledb, pgmq, orioledb, documentdb, pg_tde, and babelfishpg_* entries).
Engineering and release:
Version bumped to v1.3.0 (including a v1.2.1 transition commit), copyright year moved to 2026, and README refreshed for 461 extensions and current alias docs.
Compatibility Notes
Structured removed/updated fields in pig ext rm/update now contain package names. Automation that matched extension aliases should update parsing logic.
New Extensions (451 -> 461)
Extension
Version
Notes
aux_mysql
1.5
openHalo MySQL compatibility helper (PG14)
gb18030_2022
1.0
IvorySQL charset conversion module
ivorysql_ora
1.0
IvorySQL Oracle compatibility extension
ora_btree_gin
1.0
Oracle datatype GIN indexing support
ora_btree_gist
1.0
Oracle datatype GiST indexing support
pg_get_functiondef
1.0
Function definition utility
plisql
1.0
PL/iSQL procedural language
snowflake
2.4
pgEdge Snowflake-style ID generator
spock
5.0.5
pgEdge multi-master logical replication extension
lolor
1.2.2
pgEdge logical-replication-friendly large objects
Full Commit List (v1.2.0..v1.3.0)
b8ecf8d bump version string to 1.2.1
55df9a4 build/get: support multi-source parsing and pgedge spock tarball
da8e347 add agensgraph and pgedge alias
86edbd7 ext: show resolved package names in rm/update results
This version is a planned architecture-level upgrade from v1.0.0 to v1.1.0 (79 commits, 193 files changed),
with the core goal of moving pig from a “human-friendly CLI” to an “agent-native orchestratable CLI”.
Seven new extensions are added, bringing the total available extensions to 451.
New Features
Land the unified agent-native output framework: introduce global --output (text/yaml/json/json-pretty), and provide unified Result structure, stable status codes, and machine-readable output for ext/repo/pg/pt/pb/pitr/status/version/context.
Introduce ANCS (Agent Native Command Schema) metadata: add semantic fields such as type/volatility/parallel/risk/confirm/os_user/cost, and make help emit a command capability tree directly in structured mode for agent-side capability and risk discovery.
Add pig context (pig ctx) environment snapshot command: aggregate host, PostgreSQL, Patroni, pgBackRest, and extension information in one call for direct agent workflow context injection.
Expand plan capabilities beyond PITR: add pig ext add/rm --plan, pig pg stop/restart --plan, pig pt switchover/failover --plan, and align with pig pitr --plan/--dry-run into a reviewable execution plan format (actions, scope, risks, expected outcomes).
Further improve structured result coverage: embed native pgbackrest info JSON, and unify structured return DTOs across Patroni/PostgreSQL/PITR/Repo/Ext subsystems for automation compatibility.
Strengthen compatibility layer: add legacy structured wrappers for existing command groups such as pg_exporter/pg_probe/do/sty, preserving legacy interaction behavior while exposing structured execution results and output capture.
Update pigsty to v4.1.0.
Extension Update
Extension
Old
New
timescaledb
2.24.0
2.25.0
citus
14.0.0-2
14.0.0-3
pg_incremental
1.2.0
1.4.1
pg_bigm
1.2-20240606
1.2-20250903
pg_net
0.20.0
0.20.2
pgmq
1.9.0
1.10.0
pg_textsearch
0.4.0
0.5.0
pljs
1.0.4
1.0.5
sslutils
1.4-1
1.4-2
table_version
1.11.0
1.11.1
supautils
3.0.2
3.1.0
pg_math
1.0
1.1.0
pgsentinel
1.3.1
1.4.0
pg_uri
1.20151224
1.20251029
pgcollection
1.1.0
1.1.1
pg_readonly
1.0.3
1.0.4
timestamp9
1.4.0-1
1.4.0-2
pg_uint128
1.1.1
1.2.0
pg_roaringbitmap
0.5.5
1.1.0
plprql
18.0.0
18.0.1
pglinter
1.0.1
1.1.0
pg_jsonschema
0.3.3
0.3.4
pg_anon
2.5.1
3.0.1
vchord
1.0.0
1.1.0
pg_search
0.21.4
0.21.6/0.21.7
pg_graphql
1.5.12-1
1.5.12-2
pg_summarize
0.0.1-2
0.0.1-3
nominatim_fdw
-
1.1.0
pg_utl_smtp
-
1.0.0
pg_strict
-
1.0.2
pg_track_optimizer
-
0.9.1
pgmb
-
1.0.0
Bug Fixes
Security fix: resolve parsing panic in pig build proxy when receiving malformed proxy addresses.
Security fix: resolve path traversal risk in pig pg log, preventing access to files outside the log directory via ../../.
Security hardening: improve installer/repo path and quoting handling to reduce path injection and invalid-path misuse risks.
Build pipeline reliability fixes: correctly propagate errors and return non-zero exit codes in pig build get/pkg/ext when download/build fails; fix false failures in DEB builds caused by pg_ver mismatch.
Repo/catalog refresh fixes: support quiet mirror fallback for ext/repo reload; make repo add/set/rm return proper error status when cache updates fail.
Extension management fixes: adjust ext update to explicit-target updates and fix status drift issues; ensure ext import downloads requested DEB resources to the specified repo directory.
Output/observability fixes: align structured output exit code behavior with text mode rendering; improve permission handling and parsing stability in pg status.
This release introduces three major new subcommand groups (pig pg, pig pt, pig pb) for managing PostgreSQL, Patroni, and pgBackRest, along with an orchestrated PITR command and enhanced extension availability display.
New Commands
pig pg - PostgreSQL instance management
pg init/start/stop/restart/reload/status - Control and manage PostgreSQL instances
pg role/promote - Detect and switch instance role (primary/replica)
pg psql/ps/kill - Connection and session management