# Introduction

Patroni is a template for you to create your own customized, high-availability solution using Python and - for maximum accessibility - a distributed configuration store like ZooKeeper, etcd, Consul or Kubernetes. Database engineers, DBAs, DevOps engineers, and SREs who are looking to quickly deploy HA PostgreSQL in the datacenter-or anywhere else-will hopefully find it useful.

We call Patroni a “template” because it is far from being a one-size-fits-all or plug-and-play replication system. It will have its own caveats. Use wisely. There are many ways to run high availability with PostgreSQL; for a list, see the PostgreSQL Documentation.

Note to Kubernetes users: Patroni can run natively on top of Kubernetes. Take a look at the Kubernetes chapter of the Patroni documentation.

Contents:

- Introduction
  - Development Status
  - Technical Requirements/Installation
  - Running and Configuring
  - YAML Configuration
  - Environment Configuration
  - Replication Choices
  - Applications Should Not Use Superusers
- Patroni configuration
- REST API
  - GET /config
  - PATCH /config
  - PUT /config
- Environment Configuration Settings
  - Global/Universal
  - Bootstrap configuration
  - Consul
  - Etcd
  - Exhibitor
  - Kubernetes
  - PostgreSQL
  - REST API
  - ZooKeeper
- YAML Configuration Settings
  - Global/Universal
  - Bootstrap configuration
  - Consul
  - Etcd
  - Exhibitor
  - Kubernetes
  - PostgreSQL
  - REST API
  - ZooKeeper
  - Watchdog
- Replica imaging and bootstrap
  - Bootstrap
  - Building replicas
- Replication modes
  - Asynchronous mode durability
  - PostgreSQL synchronous replication
  - Synchronous mode
  - Synchronous mode implementation
- Pause/Resume mode for the cluster
  - The goal
  - The implementation
  - User guide
- Using Patroni with Kubernetes
  - Use Endpoints
  - Use ConfigMaps
  - Configuration
  - Examples
- Watchdog support
  - Setting up software watchdog on Linux
- Release notes
  - Version 1.4.2
  - Version 1.4.1
  - Version 1.4
  - Version 1.3.6
  - Version 1.3.5
  - Version 1.3.4
  - Version 1.3.3
  - Version 1.3.2
  - Version 1.3.1
  - Version 1.3
  - Version 1.2
  - Version 1.1
  - Version 1.0
  - Version 0.90
  - Version 0.80
- Contributing guidelines
  - Reporting issues
  - Contributing a pull request

# Indices and tables

- Index
- Module Index
- Search Page