Module: PATRONI
Patroni 4.1.4 Documentation
Source: https://patroni.readthedocs.io/en/latest/index.html Warning Running Patroni on memory-restricted systems with Python 3.11+ If you run Patroni on a system with strict memory limits, for example with vm.overcommit_memory=2 (recommended for …
Source: https://patroni.readthedocs.io/en/latest/index.html Warning Running Patroni on memory-restricted systems with Python 3.11+ If you run Patroni on a system with strict memory limits, for example with vm.overcommit_memory=2 (recommended for …
Contributing guidelines
Source: https://patroni.readthedocs.io/en/latest/contributing_guidelines.html Chatting If you have a question, looking for an interactive troubleshooting help or want to chat with other Patroni users, join us on channel #patroni in the PostgreSQL …
Source: https://patroni.readthedocs.io/en/latest/contributing_guidelines.html Chatting If you have a question, looking for an interactive troubleshooting help or want to chat with other Patroni users, join us on channel #patroni in the PostgreSQL …
Release notes
Source: https://patroni.readthedocs.io/en/latest/releases.html Version 4.1.4 Released 2026-07-07 Bugfixes Check NOTIFY_SOCKET environment variable before using systemd package (Polina Bungina) Only try to import and use the package when the …
Source: https://patroni.readthedocs.io/en/latest/releases.html Version 4.1.4 Released 2026-07-07 Bugfixes Check NOTIFY_SOCKET environment variable before using systemd package (Polina Bungina) Only try to import and use the package when the …
FAQ
Source: https://patroni.readthedocs.io/en/latest/faq.html In this section you will find answers for the most frequently asked questions about Patroni. Each sub-section attempts to focus on different kinds of questions. We hope that this helps you to …
Source: https://patroni.readthedocs.io/en/latest/faq.html In this section you will find answers for the most frequently asked questions about Patroni. Each sub-section attempts to focus on different kinds of questions. We hope that this helps you to …
HA multi datacenter
Source: https://patroni.readthedocs.io/en/latest/ha_multi_dc.html The high availability of a PostgreSQL cluster deployed in multiple data centers is based on replication, which can be synchronous or asynchronous (see replication modes). In both …
Source: https://patroni.readthedocs.io/en/latest/ha_multi_dc.html The high availability of a PostgreSQL cluster deployed in multiple data centers is based on replication, which can be synchronous or asynchronous (see replication modes). In both …
Security Considerations
Source: https://patroni.readthedocs.io/en/latest/security.html A Patroni cluster has two interfaces to be protected from unauthorized access: the distributed configuration storage (DCS) and the Patroni REST API. Protecting DCS Patroni and patronictl …
Source: https://patroni.readthedocs.io/en/latest/security.html A Patroni cluster has two interfaces to be protected from unauthorized access: the distributed configuration storage (DCS) and the Patroni REST API. Protecting DCS Patroni and patronictl …
Integration with other tools
Source: https://patroni.readthedocs.io/en/latest/tools_integration.html Patroni is able to integrate with other tools in your stack. In this section you will find a list of examples, which although not an exhaustive list, might provide you with …
Source: https://patroni.readthedocs.io/en/latest/tools_integration.html Patroni is able to integrate with other tools in your stack. In this section you will find a list of examples, which although not an exhaustive list, might provide you with …
Convert a Standalone to a Patroni Cluster
Source: https://patroni.readthedocs.io/en/latest/existing_data.html This section describes the process for converting a standalone PostgreSQL instance into a Patroni cluster. To deploy a Patroni cluster without using a pre-existing PostgreSQL …
Source: https://patroni.readthedocs.io/en/latest/existing_data.html This section describes the process for converting a standalone PostgreSQL instance into a Patroni cluster. To deploy a Patroni cluster without using a pre-existing PostgreSQL …
Citus support
Source: https://patroni.readthedocs.io/en/latest/citus.html Patroni makes it extremely simple to deploy Multi-Node Citus clusters. TL;DR There are only a few simple rules you need to follow: Citus database extension to PostgreSQL must be available …
Source: https://patroni.readthedocs.io/en/latest/citus.html Patroni makes it extremely simple to deploy Multi-Node Citus clusters. TL;DR There are only a few simple rules you need to follow: Citus database extension to PostgreSQL must be available …
Using Patroni with Kubernetes
Source: https://patroni.readthedocs.io/en/latest/kubernetes.html Patroni can use Kubernetes objects in order to store the state of the cluster and manage the leader key. That makes it capable of operating Postgres in Kubernetes environment without …
Source: https://patroni.readthedocs.io/en/latest/kubernetes.html Patroni can use Kubernetes objects in order to store the state of the cluster and manage the leader key. That makes it capable of operating Postgres in Kubernetes environment without …
DCS Failsafe Mode
Source: https://patroni.readthedocs.io/en/latest/dcs_failsafe_mode.html The problem Patroni is heavily relying on Distributed Configuration Store (DCS) to solve the task of leader elections and detect network partitioning. That is, the node is …
Source: https://patroni.readthedocs.io/en/latest/dcs_failsafe_mode.html The problem Patroni is heavily relying on Distributed Configuration Store (DCS) to solve the task of leader elections and detect network partitioning. That is, the node is …
Pause/Resume mode for the cluster
Source: https://patroni.readthedocs.io/en/latest/pause.html The goal Under certain circumstances Patroni needs to temporarily step down from managing the cluster, while still retaining the cluster state in DCS. Possible use cases are uncommon …
Source: https://patroni.readthedocs.io/en/latest/pause.html The goal Under certain circumstances Patroni needs to temporarily step down from managing the cluster, while still retaining the cluster state in DCS. Possible use cases are uncommon …
Watchdog support
Source: https://patroni.readthedocs.io/en/latest/watchdog.html Having multiple PostgreSQL servers running as primary can result in transactions lost due to diverging timelines. This situation is also called a split-brain problem. To avoid …
Source: https://patroni.readthedocs.io/en/latest/watchdog.html Having multiple PostgreSQL servers running as primary can result in transactions lost due to diverging timelines. This situation is also called a split-brain problem. To avoid …
Standby cluster
Source: https://patroni.readthedocs.io/en/latest/standby_cluster.html Patroni also support running cascading replication to a remote datacenter (region) using a feature that is called “standby cluster”. This type of clusters has: “standby leader”, …
Source: https://patroni.readthedocs.io/en/latest/standby_cluster.html Patroni also support running cascading replication to a remote datacenter (region) using a feature that is called “standby cluster”. This type of clusters has: “standby leader”, …
Replication modes
Source: https://patroni.readthedocs.io/en/latest/replication_modes.html Patroni uses PostgreSQL streaming replication. For more information about streaming replication, see the Postgres documentation. By default Patroni configures PostgreSQL for …
Source: https://patroni.readthedocs.io/en/latest/replication_modes.html Patroni uses PostgreSQL streaming replication. For more information about streaming replication, see the Postgres documentation. By default Patroni configures PostgreSQL for …
Replica imaging and bootstrap
Source: https://patroni.readthedocs.io/en/latest/replica_bootstrap.html Patroni allows customizing creation of a new replica. It also supports defining what happens when the new empty cluster is being bootstrapped. The distinction between two is …
Source: https://patroni.readthedocs.io/en/latest/replica_bootstrap.html Patroni allows customizing creation of a new replica. It also supports defining what happens when the new empty cluster is being bootstrapped. The distinction between two is …
patronictl
Source: https://patroni.readthedocs.io/en/latest/patronictl.html Patroni has a command-line interface named patronictl, which is used basically to interact with Patroni’s REST API and with the DCS. It is intended to make it easier to perform …
Source: https://patroni.readthedocs.io/en/latest/patronictl.html Patroni has a command-line interface named patronictl, which is used basically to interact with Patroni’s REST API and with the DCS. It is intended to make it easier to perform …
Patroni REST API
Source: https://patroni.readthedocs.io/en/latest/rest_api.html Patroni has a rich REST API, which is used by Patroni itself during the leader race, by the patronictl tool in order to perform failovers/switchovers/reinitialize/restarts/reloads, by …
Source: https://patroni.readthedocs.io/en/latest/rest_api.html Patroni has a rich REST API, which is used by Patroni itself during the leader race, by the patronictl tool in order to perform failovers/switchovers/reinitialize/restarts/reloads, by …
Patroni configuration
Source: https://patroni.readthedocs.io/en/latest/patroni_configuration.html There are 3 types of Patroni configuration: Global dynamic configuration. These options are stored in the DCS (Distributed Configuration Store) and applied on all cluster …
Source: https://patroni.readthedocs.io/en/latest/patroni_configuration.html There are 3 types of Patroni configuration: Global dynamic configuration. These options are stored in the DCS (Distributed Configuration Store) and applied on all cluster …
Environment Configuration Settings
Source: https://patroni.readthedocs.io/en/latest/ENVIRONMENT.html It is possible to override some of the configuration parameters defined in the Patroni configuration file using the system environment variables. This document lists all environment …
Source: https://patroni.readthedocs.io/en/latest/ENVIRONMENT.html It is possible to override some of the configuration parameters defined in the Patroni configuration file using the system environment variables. This document lists all environment …
Installation
Source: https://patroni.readthedocs.io/en/latest/installation.html Pre-requirements for Mac OS To install requirements on a Mac, run the following: brew install postgresql etcd haproxy libyaml python Psycopg Starting from psycopg2-2.8 the binary …
Source: https://patroni.readthedocs.io/en/latest/installation.html Pre-requirements for Mac OS To install requirements on a Mac, run the following: brew install postgresql etcd haproxy libyaml python Psycopg Starting from psycopg2-2.8 the binary …
YAML Configuration Settings
Source: https://patroni.readthedocs.io/en/latest/yaml_configuration.html Global/Universal thread_pool_size: size of thread pool used by Patroni to execute asynchronous tasks and communicate via REST API with other members during leader race or …
Source: https://patroni.readthedocs.io/en/latest/yaml_configuration.html Global/Universal thread_pool_size: size of thread pool used by Patroni to execute asynchronous tasks and communicate via REST API with other members during leader race or …
Introduction
Source: https://patroni.readthedocs.io/en/latest/README.html Patroni is a template for high availability (HA) PostgreSQL solutions using Python. Patroni originated as a fork of Governor, the project from Compose. It includes plenty of new features. …
Source: https://patroni.readthedocs.io/en/latest/README.html Patroni is a template for high availability (HA) PostgreSQL solutions using Python. Patroni originated as a fork of Governor, the project from Compose. It includes plenty of new features. …
Dynamic Configuration Settings
Source: https://patroni.readthedocs.io/en/latest/dynamic_configuration.html Dynamic configuration is stored in the DCS (Distributed Configuration Store) and applied on all cluster nodes. In order to change the dynamic configuration you can use …
Source: https://patroni.readthedocs.io/en/latest/dynamic_configuration.html Dynamic configuration is stored in the DCS (Distributed Configuration Store) and applied on all cluster nodes. In order to change the dynamic configuration you can use …