pkg.soopen package index

brew / rank 6719

Install pgroll with Homebrew, MacPorts, Nix, scoop

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

Additional install commands

macOS

Homebrewverified · 100%
brew install pgroll

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install pgroll

MacPorts ports tree · databases/pgroll/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#pgroll

nixpkgs package indexes · pkgs/by-name/pg/pgroll/package.nix · source: api.github.com

Windows

Scoopverified · 92%
scoop install main/pgroll

Scoop official bucket manifest trees · bucket/pgroll.json · source: api.github.com

overview

Package summary

Postgres zero-downtime migrations made easy

Commands and aliases

  • pgroll

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • Initial project era: Xata introduced pgroll as an open-source zero-downtime migration tool for PostgreSQL.
  • Release evolution: The project expanded its migration operations and added workflow commands such as baseline, pull, create, validate, and migrate.
  • Current support: Official documentation targets PostgreSQL 14 and later.

Related projects

  • The official project materials cite Reshape and PgHaMigrations as related or inspirational projects. pgroll also addresses the same deployment problem as expand-and-contract migration patterns, but automates versioned database interfaces for PostgreSQL.

Sources

  • Official documentation: https://pgroll.com/docs
  • Official releases: https://github.com/xataio/pgroll/releases
  • Official repository README: https://github.com/xataio/pgroll#readme
  • source_facts.package-manager

security posture

No protected-tool coverage found yet

No matching local secret-handling manifest was found for pgroll. Package metadata is still published here so future coverage has a stable package URL.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
pgrollcliglobal executable

freshness

Version and 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.

page generated2026-09-19
manager version0.16.3
manager updated2026-09-13
local dataok
upstreamcurrent
latest detectedv0.16.2

https://github.com/xataio/pgroll

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:pgroll
Version0.16.3
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/pgroll
Homepagehttps://pgroll.com
Repositoryhttps://github.com/xataio/pgroll
Upstream docshttps://pgroll.com
LicenseApache-2.0
Source archivehttps://github.com/xataio/pgroll/archive/refs/tags/v0.16.2.tar.gz
Last updated2026-09-13T11:34:16Z
Pulseupdated
Dependencieslibpg_query
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namepgroll
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

pgroll

nix profile install nixpkgs#pgroll
  • normalized package name match
  • Matched by: Pgroll
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/pg/pgroll/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
MacPorts95%

pgroll

sudo port install pgroll
  • normalized package name match
  • Matched by: Pgroll
MacPorts ports tree · api.github.com · MacPorts ports tree: databases/pgroll/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Scoop95%

main/pgroll

scoop install main/pgroll
  • normalized package name match
  • Matched by: Pgroll
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/pgroll.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment
  • pkg.so package database
  • pkgdb category and tag curation