pgroll
pgzx
pgroll | pgzx | |
---|---|---|
15 | 5 | |
2,587 | 331 | |
6.6% | 18.7% | |
9.4 | 8.5 | |
6 days ago | 9 days ago | |
Go | Zig | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pgroll
-
How not to change PostgreSQL column type
My thoughts exactly. It's surprising that external online schema change tools for Postgres have only become a thing fairly recently! The only two I'm aware of are:
* pgroll: Written in Golang, first commits June 2023. https://github.com/xataio/pgroll
* pg-osc: Written in Ruby, first commits Dec 2021. https://github.com/shayonj/pg-osc
Meanwhile over in the MySQL and MariaDB ecosystem, external OSC tools have been around for quite some time, starting with oak-online-alter-table over 15 years ago. The most popular options today are pt-online-schema-change or gh-ost, but other battle-tested solutions include fb-osc, LHM, and the latest entry Spirit.
-
Building a Managed Postgres Service in Rust
I thought I recognized xataio - they submitted pgroll a few months back https://news.ycombinator.com/item?id=37752366 (https://github.com/xataio/pgroll - Apache 2)
- Revolutionizing PostgreSQL Schema Changes with pg-osc
- PostgreSQL zero-downtime and reversible migrations
-
How pgroll works under the hood
At the start of October we released pgroll, an open source tool for zero-downtime, reversible schema migrations for Postgres.
-
Introducing pgroll: zero-downtime, reversible, schema migrations for Postgres
If you have any suggestions or questions, please open an issue in our GitHub repo, reach out to us on Discord or follow us on X / Twitter. We'd love to hear from you and keep you up to date with the latest progress on pgroll.
-
Pgroll: zero-downtime, undoable, schema migrations for Postgres
Any pgroll operations[0] that require a change to an existing column, such as adding a constraint, will create a new copy of the column and backfill it using 'up' SQL defined in the migration and apply the change to that new column.
There are no operations that will modify the data of an existing column in-place, as this would violate the invariant that the old schema must remain usable alongside the new one.
[0] - https://github.com/xataio/pgroll/tree/main/docs#operations-r...
-
Database Migrations
This is a fantastic article! It shows that even simple migrations (like adding or removing a column) can be quite tricky to deploy in concert with the application deployement.
We (at Xata) have tried for a while to come up with a generic schema migration system for PostgreSQL that makes this easier. We ended up using views and temporary columns in such a way that we can provide both the "old" and the "new" schema simultaneously. Up/down triggers convert newly inserted data from old to new and the other way around. This also has the advantage the it can do rollbacks instantly by just dropping the "new" view.
We were just planning to announce this as an open source project this week, but actually it is already public, so if you are curious: https://github.com/xataio/pgroll
pgzx
-
Build authenticated and paywall pages with Stripe and Xata
A Xata account
-
11 Planetscale alternatives with free tiers
Like Supabase, Xata is a serverless database platform that was founded in 2020 and supports Postgres. It combines the powers of PostgreSQL and ElasticSearch for database operations.
-
Building a Managed Postgres Service in Rust
Consider also the companies and work behind pgrx [0] and pgzx [1]:
[0] https://github.com/pgcentralfoundation/pgrx
[1] https://github.com/xataio/pgzx
- Create PostgreSQL extensions using Zig
What are some alternatives?
migrate - Database migrations. CLI and Golang library.
reshape - An easy-to-use, zero-downtime schema migration tool for Postgres
bob - SQL query builder and ORM/Factory generator for Go with support for PostgreSQL, MySQL and SQLite
postgres_migrator - A postgres migration generator and runner that uses raw declarative sql.
tusker - PostgreSQL migration management tool
migra - Like diff but for PostgreSQL schemas
refinery - Powerful SQL migration toolkit for Rust.
atlas - Manage your database schema as code
quantumdb - Zero-downtime schema evolution for PostgreSQL
pREST - PostgreSQL ➕ REST, low-code, simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new
pg-osc - Easy CLI tool for making zero downtime schema changes and backfills in PostgreSQL
go-pg-migrate - CLI-friendly package for pg migrations management.