awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
xataio avatar

xataio/pgroll

0
View on GitHub↗
6,502 stars·148 forks·Go·Apache-2.0·21 viewspgroll.com↗

Pgroll

pgroll is a PostgreSQL migration framework designed for zero-downtime schema changes. It applies non-blocking DDL operations that avoid exclusive locks on tables, and uses trigger-based column backfill to populate new columns while keeping them synchronized with old ones. The framework wraps each migration step in a database transaction that can be atomically committed or rolled back, and creates a versioned view layer that exposes both old and new schema versions simultaneously to client applications.

The tool distinguishes itself by managing multiple schema versions via views, enabling safe rollbacks and phased rollouts. It supports a step-by-step online migration workflow that creates new schema versions, backfills columns with trigger-based sync, and serves multiple versions so client applications can transition gradually without interruption. In-progress migrations can be reversed instantly by removing the new schema version and restoring the previous one.

The project covers automated column backfill, multi-version schema serving, and rollback migration management for PostgreSQL databases. Its documentation provides guidance on running migrations step by step, rolling back changes, and serving multiple schema versions simultaneously.

Features

  • Database Schema Migrations - Provides a structured workflow for applying, completing, and reversing PostgreSQL schema migrations.
  • Trigger-Based Backfills - Provides automated column backfill using batch updates and trigger-based synchronization during schema migrations.
  • Trigger-Synced Column Backfills - Fills new columns from existing data and keeps them synchronized via triggers during migrations.
  • Schema Version Views - Creates a stable view layer that abstracts schema changes for querying old or new versions by name.
  • Simultaneous Schema Versions - Exposes old and new schema versions via views for gradual client transitions without interruption.
  • View-Based Schema Versionings - Exposes each migration step as a pair of views presenting old and new schema versions simultaneously.
  • Instant Migration Rollbacks - Reverses in-progress migrations instantly by removing the new schema version and restoring the previous one.
  • Lock-Free Schema Evolutions - Implements non-blocking DDL operations that avoid exclusive locks on tables during schema changes.
  • Zero-Downtime Migrations - Applies schema changes to a live PostgreSQL database without locking tables or breaking applications.
  • PostgreSQL - Automates PostgreSQL schema changes without locking tables, keeping old and new versions accessible.
  • Zero-Downtime Schema Migrations - Migrates PostgreSQL schemas without downtime, keeping old and new versions accessible.
  • Instant Schema Rollbacks - Reverses in-progress migrations instantly by removing the new schema version and restoring the previous one.
  • Online Schema Migration Tools - Applies schema changes without locking the database, keeping old and new versions accessible.
  • Phased - Starts a migration to create a new schema version, then completes it after clients switch over.
  • Trigger-Synced Backfills - Fills new columns from old ones and keeps them synchronized via triggers until migration completion.
  • Transactional Migration Managers - Wraps each migration step in atomic database transactions for safe commit or rollback.
  • Column - Installs database triggers that propagate changes bidirectionally to keep new columns synchronized during backfill.
  • Schema and Migration Tools - Zero-downtime, reversible schema migration tool.

Star history

Star history chart for xataio/pgrollStar history chart for xataio/pgroll

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does xataio/pgroll do?

pgroll is a PostgreSQL migration framework designed for zero-downtime schema changes. It applies non-blocking DDL operations that avoid exclusive locks on tables, and uses trigger-based column backfill to populate new columns while keeping them synchronized with old ones. The framework wraps each migration step in a database transaction that can be atomically committed or rolled back, and creates a versioned view layer that exposes both old and new schema versions…

What are the main features of xataio/pgroll?

The main features of xataio/pgroll are: Database Schema Migrations, Trigger-Based Backfills, Trigger-Synced Column Backfills, Schema Version Views, Simultaneous Schema Versions, View-Based Schema Versionings, Instant Migration Rollbacks, Lock-Free Schema Evolutions.

Which projects share features with xataio/pgroll?

Projects with overlapping indexed features include: sqlalchemy/alembic — Alembic is a database schema versioning system and migration tool for SQLAlchemy. It manages incremental updates to… github/gh-ost — gh-ost is a triggerless online schema migration tool for MySQL. It functions as a replication client and table… aimeos/upscheme. doctrine/doctrinemigrationsbundle — DoctrineMigrationsBundle is a database schema migration tool and a Symfony framework integration for managing and… cookiecutter-flask/cookiecutter-flask — cookiecutter-flask is a project scaffolding tool used for bootstrapping Flask web applications. It uses a templating… doctrine/persistence — This project is an object persistence library and data mapper abstraction layer. It provides a set of shared…

Projects sharing features with Pgroll

These projects share indexed features with Pgroll. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • sqlalchemy/alembicsqlalchemy avatar

    sqlalchemy/alembic

    4,215View on GitHub↗

    Alembic is a database schema versioning system and migration tool for SQLAlchemy. It manages incremental updates to database structures using versioned scripts that support both upgrading and downgrading to keep the database and code in sync. The system utilizes a directed acyclic graph for migration management, which allows for non-linear versioning, including branching and merging across multiple root versions. It includes an automated schema diffing tool that compares live database schemas against metadata objects to programmatically generate migration instructions. The tool provides capa

    Pythonpythonsqlsqlalchemy
    View on GitHub↗4,215
  • github/gh-ostgithub avatar

    github/gh-ost

    13,409View on GitHub↗

    gh-ost is a triggerless online schema migration tool for MySQL. It functions as a replication client and table management utility that synchronizes data from a source table to a shadow table using binary logs, allowing for table structure modifications without locking original tables or causing downtime. The tool distinguishes itself by using binary-log-based replication instead of triggers to stream row-based events to a shadow table. It implements load-aware throttling and dynamic performance tuning to adjust migration speed based on server load and replication lag. Users can monitor and ad

    Go
    View on GitHub↗13,409
  • aimeos/upschemeaimeos avatar

    aimeos/upscheme

    2,601View on GitHub↗
    PHPdatabasedatabase-managementdatabase-migrations
    View on GitHub↗2,601
  • doctrine/doctrinemigrationsbundledoctrine avatar

    doctrine/DoctrineMigrationsBundle

    4,311View on GitHub↗

    DoctrineMigrationsBundle is a database schema migration tool and a Symfony framework integration for managing and versioning database changes using the Doctrine Migrations library. It functions as a bridge connecting the Symfony service container to Doctrine database migration workflows. The project provides a system for tracking and applying incremental changes to a database schema, ensuring consistent states across development, staging, and production environments. It automates schema updates to maintain data structures without manual SQL execution. The tool integrates with the framework t

    PHP
    View on GitHub↗4,311
  • Compare all 30 related projects→