Skip to content

pig-v1.5.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Jul 23:32

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 clone for fast local database cloning, with --plan, structured output, owner/connection options, identifier validation, and clearer psql failure details.
  • New pig pg fork for disposable physical forks under /pg/data-<name>, with list/start/stop/rm lifecycle commands, fork.json metadata, 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 log default 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 into cli/* packages with shared plan/output helpers.
  • Build/release updates: default pgrx is now 0.19.1, embedded Pigsty is 4.4.0, Pig is 1.5.0, and go-toml/v2 is 2.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, and pgtt 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 restore now requires an explicit recovery target. Use pig pb restore -d for latest WAL recovery.
  • pig pitr --skip-patroni is refused for Patroni-managed restores; custom -D side restores require --no-restart.
  • pig pitr --target-action=shutdown requires --no-restart, because PostgreSQL exits after reaching the recovery target.
  • pig pg log -o json emits JSONL for PostgreSQL CSV logs; YAML and json-pretty are not used for streaming logs.
  • Remove managed forks by name; use --dst-data only 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