pg-osc
pgroll
Our great sponsors
pg-osc | pgroll | |
---|---|---|
6 | 14 | |
477 | 2,524 | |
- | 15.4% | |
7.9 | 9.4 | |
14 days ago | 1 day ago | |
Ruby | Go | |
MIT License | 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.
pg-osc
-
Pgroll: zero-downtime, undoable, schema migrations for Postgres
Great to see more innovation in this space! How does this compare to?
https://github.com/shayonj/pg-osc
- Want to avoid MySQL but find PlanetScale really appealing
-
Changing Tires at 100mph: A Guide to Zero Downtime Migrations
Postgres has some less robust tooling, at least both of these carry the "experimental" tag:
https://news.ycombinator.com/item?id=29825520
https://github.com/shayonj/pg-osc
But, still, they do it for you.
- Alter PostgreSQL tables without locks and downtime
-
pg-osc: Zero downtime non blocking schema changes in PostgreSQL
You can also try it out, Github: https://github.com/shayonj/pg-osc
-
Show HN: Zero-downtime PostgreSQL migrations for Ruby on Rails
This is very cool! I no longer work on Rails on daily basis, but would have loved to have this.
I built something similar called `pg-osc` / `pg-online-schema-change` for PostgreSQL workloads. It does zero downtime migrations using triggers and shadow table.
Github: https://github.com/shayonj/pg-osc.
Blog: https://www.shayon.dev/post/2022/47/pg-osc-zero-downtime-sch...
Also love that this is written in Ruby :). Going to check it out on some side projects.
pgroll
-
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
What are some alternatives?
pg-online-schema-change - Easy CLI tool for making zero downtime schema changes and backfills in PostgreSQL [Moved to: https://github.com/shayonj/pg-osc]
migrate - Database migrations. CLI and Golang library.
safe-pg-migrations - Make your PostgreSQL migrations safe
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
tusker - PostgreSQL migration management tool
postgres_migrator - A postgres migration generator and runner that uses raw declarative sql.
django-pg-zero-downtime-migrations - Django postgresql backend that apply migrations with respect to database locks
neon - Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, branching, and bottomless storage.
migra - Like diff but for PostgreSQL schemas