This answer might be quite late, but it might help someone who is a beginner.
What is a cluster in most basic sense:
In most basic terms, a postgres cluster as a group of databases which have their own configurations. For example you might have cluster which uses postgres v9 and has 2 databases in it, and all databases will use the same configuration offered by the cluster e.g buffer size, number of connections allowed, connection pool size etc. Similarly you can have another cluster which uses postgres 12 and it also can have multiple databases in it. You can also have multiple clusters with the same version but different configurations.
The commands below are tested on ubuntu only, these might not work for other OS.
To check how many clusters you have you can run the command
pg_lsclusters
This would give you a list of clusters with their status, port, names, location of data directory etc. The status tells if this cluster is online or not. You cant connect to an offline cluster.
To create a new cluster, run this command
initdb -D /usr/local/pgsql/data
This tells postgres to initialize a new database and where to create the data directory. Ofcourse the user should have permission to create this directory. Also this would create default configurations which is usually located in /var/lib/postgresql/version/clusterName.
To connect to a cluster use this command
psql -U postgres -p 5436 -h localhost
Each cluster will have unique port number, so make sure you select the correct port.
You can also start, stop or check status of cluster
pg_ctlcluster 12 main stop
Here 12 is the postgres version and main is the name of the cluster.
Creating a new database in cluster
To create a new database, you need to first connect to the cluster (using the command mentioned above). And then run this command.
CREATE DATABASE mynewdb;