> For the complete documentation index, see [llms.txt](https://docs.perfectscale.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.perfectscale.io/2.0-self-hosted-or-perfectscale-documentation/product-overview/high-availability-overview.md).

# High Availability overview

High Availability for Stateful services overview

## PostgreSQL High Availability <a href="#postgresql-ha" id="postgresql-ha"></a>

Postgres in high-availability mode uses three Postgres instances and one PgPool instance. For HA, Postgres uses RepMgr, part of the bitnami/postgresql-repmgr image.&#x20;

RepMgr ensures HA using automatic membership control. If the primary is down, any of the replica nodes will be promoted as primary to avoid data loss.&#x20;

PgPool handles the connection to the Postgres instances and is responsible for spreading the queries among these instances.

## MinIO High Availability <a href="#minio-ha" id="minio-ha"></a>

MinIO HA mode uses two standalone instances with Site replication and a single load balancer (Kubernetes service) in front of them.

MinIO peer sites can proxy GET/HEAD requests for an object to other peers to check if it exists. This allows a site that is healing or lagging behind other peers to return an object that persisted in other sites.
