pg-osc
ghost_adapter
Our great sponsors
pg-osc | ghost_adapter | |
---|---|---|
6 | 2 | |
477 | 18 | |
- | - | |
7.9 | 1.5 | |
14 days ago | 5 days ago | |
Ruby | Ruby | |
MIT License | GNU General Public License v3.0 or later |
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.
ghost_adapter
-
Changing Tires at 100mph: A Guide to Zero Downtime Migrations
At least for Rails there are several gems available (ie https://github.com/WeTransfer/ghost_adapter or https://github.com/departurerb/departure) that seamlessly hook into the existing migration system and will run all eligible migrations through gh-ost or pt-osc as needed. You're right that it's not free but it isn't all that far off either.
That said, online schema migrations are a specialized tool designed for very big tables that take hours to run an ALTER TABLE on. If all your tables are small enough that alterations take less than a second or so, don't bother and just block the table for a bit. It's fine.
-
Database... or Goose?
https://github.com/WeTransfer/ghost_adapter integrates gh-ost with activerecord and the departure gem does the same but for pt-osc.
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]
strong_migrations - Catch unsafe migrations in development
safe-pg-migrations - Make your PostgreSQL migrations safe
reshape - An easy-to-use, zero-downtime schema migration tool for Postgres
wt_activerecord_index_spy - A gem to spy queries running with Active Record and report missing indexes
tusker - PostgreSQL migration management tool
Large Hadron Migrator - Online MySQL schema migrations
django-pg-zero-downtime-migrations - Django postgresql backend that apply migrations with respect to database locks
Ruby on Rails - Ruby on Rails
pgroll - PostgreSQL zero-downtime migrations made easy
database-lab-engine - DBLab enables 🖖 database branching and ⚡️ thin cloning for any Postgres database and empowers DB testing in CI/CD. This optimizes database-related costs while improving time-to-market and software quality. Follow to stay updated.