The PostgreSQL cluster
Let's start off by looking at what a cluster means in PostgreSQL. This is important because the term cluster means different things in different databases. In Oracle, it usually means Real Application Clusters (RAC), of course, there are clustered tables too, in MySQL, the term mostly refers to an in-memory database solution. In these cases, we can choose to not have a cluster. However, this is not the case with PostgreSQL. In PostgreSQL, if you have a working database, it means that you have a cluster. In PostgreSQL, a cluster refers to a set of databases, using the same configuration files, listening for requests at a common port. The databases belonging to the cluster use a common filesystem location. There is a common set of background processes and memory structures (such as shared buffers used by this set of databases). In the previous chapter, when we executed initdb, we initialized a PostgreSQL cluster.
It's possible to run multiple PostgreSQL clusters on...