Brief introduction to Pigsty Architecture


A complete Pigsty system can be called a Deployment or Environment.

For example, production environment, test environment, pre-distribution environment, etc.

A Pigsty deployment consists of two parts: an infra set & multiple clusters, both described by an Inventory.

The cluster contains nodes, instances, and services three core resources: a cluster contains multiple instances deployed on multiple nodes, providing various services. Each database instance will have a more subdivided ER model.


Infrastructure is installed on meta node: monitoring, dns, ntp, dcs, yum repo, etc…


Cluster could be node cluster or database clusters (pgsql, redis). Which were deployed on nodes.

Different type of clusters have their own ER modle, such as PGSQL and REDIS, …

For example, a pgsql cluster have 3 types of core resources: Node, Instance, Service. A pgsql cluster is consist of multiple instances and deployed on multiple nodes and providing different types of services. And there are more detailed ER models underneath.


Infra, Nodes, Pgsql, Redis, are organized in Module, and installed via playbook.

There are 4 core modules : INFRA, NODES, PGSQL, REDIS

You can compose them freely:

如果您想将Pigsty当作开箱即用的单机PostgreSQL发行版来使用,那么在一台机器上依次安装 INFRA, NODES, PGSQL 三个模块,就会有一个立即可用的,自我监控管理的数据库实例。 如果您想要一个生产环境的大规模主机监控系统,那么在一台机器上安装 INFRA 模块,在所有被监控的机器节点上安装NODES模块即可 如果您想部署管理大量的PostgreSQL集群,在这些纳入Pigsty管理的节点上再加装 PGSQL 模块即可。

Last modified 2022-06-04: fill en docs (5a858d3)