Consider adding the Citus extension
Citus is an extension for PostgreSQL that allows you to distribute tables between different nodes. It would be great to have this extension available, especially in Fly, which would unlock a lot of possibilities to run global applications.
I'd love to see you add the Citus extension as well, but for a different reason.
I'm using Postgres for reporting with Metabase and I want to minimize my storage needs. Citus has adds support for columnar compression.
I realize that I could fork this repo and add it on my own, but the capabilities of Citus are something that benefit a large percentage of folks, and TBH as a one-man-show I already have plenty on my plate. :)
I'm not totally sure Citus will work with Stolon. If someone wants to try and put together a POC, I think that would be useful.
On a high level, though citus is a Postgres extension it has nuances.
- There are nodes with specific roles - Co-ordinator & Workers
- It has distributed query planner and executor - Meaning it will be likely doing query rewrites and has metadata on which worker to send specific parts of a query
- FWIW, citus uses pg_auto_failover for node failures.
Unfortunately, stolon isn't aware of any of these.