Cloud Native PostgreSQL High Availability
stolon - PostgreSQL cloud native High Availability
stolon is a cloud native PostgreSQL manager for PostgreSQL high availability. It's cloud native because it'll let you keep an high available PostgreSQL inside your containers (kubernetes integration) but also on every other kind of infrastructure (cloud IaaS, old style infrastructures etc...)
For an introduction to stolon you can also take a look at this post
Features
Architecture
Stolon is composed of 3 main components
For more details and requirements see Stolon Architecture and Requirements
Documentation
Installation
Stolon is available in brew. It is unofficial and not supported by the project.
So check the version before installing using brew
.
Quick start and examples
Project Status
Stolon is under active development and used in different environments. Probably its on disk format (store hierarchy and key contents) will change in future to support new features. If a breaking change is needed it'll be documented in the release notes and an upgrade path will be provided.
Anyway it's quite easy to reset a cluster from scratch keeping the current master instance working and without losing any data.
Requirements
PostgreSQL 15, 14, 13, 12, 11, 10, 9.6
etcd2 >= v2.0, etcd3 >= v3.0, consul >= v0.6 or kubernetes >= 1.8 (based on the store you're going to use)
OS: currently stolon is tested on GNU/Linux (with reports of people using it also on Solaris, *BSD and Darwin)
build
To build stolon we usually test and support the latest two major versions of Go like in the Go release policy.
make
High availability
Stolon tries to be resilient to any partitioning problem. The cluster view is computed by the leader sentinel and is useful to avoid data loss (one example over all avoid that old dead masters coming back are elected as the new master).
There can be tons of different partitioning cases. The primary ones are covered (and in future more will be added) by various integration tests
FAQ
See here for a list of faq. If you have additional questions please ask.
Contributing to stolon
stolon is an open source project under the Apache 2.0 license, and contributions are gladly welcomed! To submit your changes please open a pull request.
Contacts
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.