macOS
brew install pgrolllocal Homebrew formula metadata
sudo port install pgrollMacPorts ports tree · databases/pgroll/Portfile · source: api.github.com
brew / rank 6719
Postgres zero-downtime migrations made easy. Version 0.16.3 via Homebrew; verified 2026-09-13. Also installable with nix: nix profile install nixpkgs#pgroll.
install
brew install pgrolllocal Homebrew formula metadata
sudo port install pgrollMacPorts ports tree · databases/pgroll/Portfile · source: api.github.com
nix profile install nixpkgs#pgrollnixpkgs package indexes · pkgs/by-name/pg/pgroll/package.nix · source: api.github.com
scoop install main/pgrollScoop official bucket manifest trees · bucket/pgroll.json · source: api.github.com
overview
Postgres zero-downtime migrations made easy
history
pgroll is Xata's open-source PostgreSQL schema-migration tool for applying reversible changes without application downtime. It exposes multiple schema versions concurrently so old and new application releases can operate during a rollout.
Xata created pgroll as an open-source PostgreSQL migration tool focused on zero-downtime and reversible schema changes. The project drew inspiration from Reshape, PgHaMigrations, and established expand-and-contract migration practices.
The tool evolved around versioned schemas and views over physical tables. Its release series added broader migration operations and workflow commands while retaining the start, complete, and rollback lifecycle.
pgroll is distributed through Homebrew, MacPorts, Nix, and Scoop according to source_facts.package-manager, providing native package routes across macOS, Linux, and Windows.
The project supports PostgreSQL 14 and later and is designed to work with hosted PostgreSQL services, including Amazon RDS and Aurora, broadening its relevance beyond self-managed installations.
A typical workflow initializes pgroll's internal database state, optionally baselines an existing schema, starts a migration from a YAML or JSON file, moves applications to the new versioned schema, and then completes or rolls back the migration.
The PostgreSQL connection is supplied through a command-line URL or related runtime configuration. Official documentation does not designate a fixed config file or separate credentials file; migration definitions are project inputs stored wherever the user chooses.
pgroll brings deployment-oriented expand-and-contract ideas into a standalone PostgreSQL CLI. Its defining feature is serving old and new schema versions simultaneously through views, enabling application rollouts and database migrations to proceed independently.
Package users care about its single Go binary, reversible migration files, automated backfills, short lock timeout strategy, and ability to introduce its migration model to an existing schema through a baseline operation.
security posture
No matching local secret-handling manifest was found for pgroll. Package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
pgroll | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/xataio/pgroll
install metadata
| Package key | brew:pgroll |
|---|---|
| Version | 0.16.3 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/pgroll |
| Homepage | https://pgroll.com |
| Repository | https://github.com/xataio/pgroll |
| Upstream docs | https://pgroll.com |
| License | Apache-2.0 |
| Source archive | https://github.com/xataio/pgroll/archive/refs/tags/v0.16.2.tar.gz |
| Last updated | 2026-09-13T11:34:16Z |
| Pulse | updated |
| Dependencies | libpg_query |
| Build dependencies | go |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | pgroll |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
pgroll
nix profile install nixpkgs#pgrollpgroll
sudo port install pgrollmain/pgroll
scoop install main/pgrollsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.