pig-v1.5.0
Pre-release
Pre-release
Pig v1.5.0 is a PostgreSQL operations release. It adds local clone/fork workflows, tightens PITR and pgBackRest safety, simplifies the command layout, and refreshes extension/build metadata.
Highlights
- New
pig pg clonefor fast local database cloning, with--plan, structured output, owner/connection options, identifier validation, and clearerpsqlfailure details. - New
pig pg forkfor disposable physical forks under/pg/data-<name>, with list/start/stop/rm lifecycle commands,fork.jsonmetadata, automatic port selection, CoW/reflink detection, and safer removal rules. - Safer PITR and restore flows: explicit recovery targets, restore plans, pgBackRest passthrough args, Patroni guardrails, side-restore rules, recovery wait, and post-restore guidance.
- Better logs:
pig pg log/pig pb logdefault to the latest log; PostgreSQL CSV logs can be emitted as JSONL with-o json. - Cleaner CLI structure: top-level command files stay flat in
cmd/, while reusable logic moves intocli/*packages with shared plan/output helpers. - Build/release updates: default
pgrxis now0.19.1, embedded Pigsty is4.4.0, Pig is1.5.0, andgo-toml/v2is2.4.2.
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 metadata for 38 existing entries, including
postgis 3.6.4,vector 0.8.3,biscuit 2.4.0,orioledb 1.8,documentdb 0.113,credcheck 5.0, andpgtt 4.5. - OrioleDB aliases now follow the requested PostgreSQL major instead of being pinned to PG17.
- EL9 ARM64 Patroni aliases now use
patroni.noarch/patroni-etcd.noarch.
Compatibility Notes
pig pb restorenow requires an explicit recovery target. Usepig pb restore -dfor latest WAL recovery.pig pitr --skip-patroniis refused for Patroni-managed restores; custom-Dside restores require--no-restart.pig pitr --target-action=shutdownrequires--no-restart, because PostgreSQL exits after reaching the recovery target.pig pg log -o jsonemits JSONL for PostgreSQL CSV logs; YAML andjson-prettyare not used for streaming logs.- Remove managed forks by name; use
--dst-dataonly for unmanaged forks.
Changelog
- 53281df 2026-07-01 batch extension update
- f5672a1 Fix el9 arm64 patroni aliases
- 28ca56d build: bump default pgrx to 0.19.1
- 25f496f bump el9.aarch64 patroni version to 4.1.3
- cc5c0c5 bump golang deps to the latest version
- f198954 bump pigsty version to 4.4.0
- b43fb63 chore(release): bump versions to v1.5.0
- a58ec51 data(ext): refresh extension catalog
- fb93602 feat(cli): consolidate command surface and operation plans
- 8071343 feat(pg): add local fork and clone commands
- de808f1 feat(pg): manage physical forks under postgres
- 126da19 feat(pg): move clone into postgres package
- 49d561a feat(pg): refine database clone workflow
- 525d977 fix orioledb alias rendering
- 414c2f1 fix(pg): stream JSON log fallback
- da5221a fix(pitr): harden side restore guidance
- 8d1aecc fix: harden pg clone preflight
- 4f09a83 update extension catalog to 2026-07-01