pgroll
omnigres
pgroll | omnigres | |
---|---|---|
15 | 15 | |
2,587 | 1,274 | |
6.6% | 3.1% | |
9.4 | 9.7 | |
6 days ago | 15 days ago | |
Go | C | |
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
omnigres
-
Building a Managed Postgres Service in Rust
I've been writing Postgres extensions for a few years now (mostly in C and Python), and I have to say that an important contribution from companies like Tembo and Omnigres is in the area of tooling and boilerplate. From workflows to Dockerfiles [0], that's important for the future of Postgres.
This has been discussed in the past [1], but the Postgres tooling ecosystem has been primarily C-Makefile—mailing list driven, and there used to be a lot of Makefile targets copy-pasting. Whenever major Postgres providers wanted to open source some of their extensions / sub-products. I still feel, however, that a lot of Postgres C-know-how is being slowly forgotten / lost, and I think it will be necessary again soon. Internal things as how Postgres handles varlena, StringInfo, JsonbValue, etc. The core abstractions that make Postgres work.
0: https://github.com/omnigres/omnigres/blob/master/Dockerfile
-
PostgREST: Providing HTML Content Using Htmx
If you think that's cool, you might also want to check out Omnigres:
https://github.com/omnigres/omnigres
-
Ask HN: Who is hiring? (December 2023)
At Omnigres, our north star is to enable developers to laser-focus on business needs instead of fighting technological challenges.
We're fighting the complexity and inefficiencies of contemporary stacks by removing them instead of hiding them.
At the core, we are turning Postgres into an Application Runtime. Why? Because we believe that code and data are inseparable in pretty much all of the line-of-business application systems. Turns out, when done this way, applications work a lot faster, require a lot less maintenance and are simply easier to write.
Our foundation is open source and is available at https://github.com/omnigres/omnigres
We're backed by some great early-stage VCs and looking to onboard people who can move quickly, learn on the go and maintain the focus on the goals. Another way to look at it: we want to meet other pragmatic idealists.
Email: [email protected]
-
Ask HN: Who's looking for contributors for OSS Projects
Check out Omnigres: https://github.com/omnigres/omnigres/wiki/Bounties
They just launched a bounty program recently.
-
Ask HN: Who is hiring? (November 2023)
Omnigres | Founding Engineer | SF Bay Area HQ | REMOTE
At Omnigres, our north star is to enable developers to laser-focus on business needs instead of fighting technological challenges.
We're fighting the complexity and inefficiencies of contemporary stacks by removing them instead of hiding them.
At the core, we are turning Postgres into an Application Runtime. Why? Because we believe that code and data are inseparable in pretty much all of the line-of-business application systems. Turns out, when done this way, applications work a lot faster, require a lot less maintenance and are simply easier to write.
Our foundation is open source and is available at https://github.com/omnigres/omnigres
We're backed by some great early-stage VCs and looking to onboard people who can move quickly, learn on the go and maintain the focus on the goals. Another way to look at it: we want to meet other pragmatic idealists.
You can apply here https://wellfound.com/jobs/2832133-founding-engineer
- Show HN: Pg_yregress, Structured Testing for Postgres
-
Omnigres: Postgres as a Platform
Couple of questions (with notes): Yes, I'd really like to write code next to the db with more suitable (for task) languages like Python. But at the moment SQL alone is supported..? Could one connect with Jupyter notebook somehow and have a REPL like experience with Omnigres instance?
Also, this [1] seems intriguing. How do containers connect to the db? What would the performance differences to the "internal" approach? Is this feature more like Lambda or for long running processes? Or something else? In any case very interesting.
Thank you!
[1] https://github.com/omnigres/omnigres/tree/master/extensions/...
-
The Database Package Manager for PostgreSQL Trusted Language Extensions
Very much in the same vein: https://github.com/omnigres/omnigres
What are some alternatives?
migrate - Database migrations. CLI and Golang library.
hyperdx - Resolve production issues, fast. An open source observability platform unifying session replays, logs, metrics, traces and errors powered by Clickhouse and OpenTelemetry.
reshape - An easy-to-use, zero-downtime schema migration tool for Postgres
pg_tle - Framework for building trusted language extensions for PostgreSQL
bob - SQL query builder and ORM/Factory generator for Go with support for PostgreSQL, MySQL and SQLite
supavisor - A cloud-native, multi-tenant Postgres connection pooler.
postgres_migrator - A postgres migration generator and runner that uses raw declarative sql.
langfuse - 🪢 Open source LLM engineering platform: Observability, metrics, evals, prompt management, playground, datasets. Integrates with LlamaIndex, Langchain, OpenAI SDK, LiteLLM, and more. 🍊YC W23
tusker - PostgreSQL migration management tool
examples - Your one-stop-shop to try Xata out. From packages to apps, whatever you need to get started.
migra - Like diff but for PostgreSQL schemas
langchain - 🦜🔗 Build context-aware reasoning applications