River DB is a Rust connection pool and middleware proxy.
It offers similar functionality to:
- Pgpool-II
- PgBouncer
- pgagroal
- Odyssey
What makes it uniquely interesting is you can create and mix apps/plugins written in Rust that hook into one or more parts of the PostgreSQL protocol to modify the behavior. Including the replication stream/protocol.
You can use this for logging/auditing, query rewriting, fully customizable multi-master partitioning, caching with automatic invalidation, real-time functionality based on the PostgreSQL replication stream, high availability/failover, upgrading PostgreSQL without downtime, extending the protocol, joining/querying/merging data from other data sources, custom authentication, basically anything you can do with a programmable middlware between your application and PostgreSQL.
We'll be providing a number of paid apps/plugins on top of River DB to make using and operating PostgreSQL easier and more enjoyable with an emphasis on providing an excellent developer experience.
River DB is currently Alpha quality software. We don't run it in production yet, and neither should you. Databases are critical infrastructure and we take that responsibility very seriously.
You can start to play with it, write software with it, and test it out for your intended use case.
We'll update this notice once we've been running it in production ourselves for a while. You can help out by helping us test it, finding and reporting issues, or even submitting fixes and test cases.
If you want help building apps for PostgreSQL using River DB contact us at: dan [dot] eloff at gmail.com. Nobody knows the platform better.
River DB is source-visible, not OSI open-source. See our Modified PolyForm Shield License.
Your freedoms are similar, with the exception that you can't use our own software to compete with us.
We welcome contributions, bug reports, and bug fixes!