It is a very good practice, if not an outright requirement, to have a second online copy of a PostgreSQL server in high-availability clusters. Without such an online server, recovery from an outage may require hours of incident response, backup recovery, and server provisioning. We have everything to gain by having extra online servers.
In addition, the process of setting up a hot standby acts as the basis for creating PostgreSQL streaming replicas. This means that we can reuse this recipe over and over again anytime we need to create PostgreSQL mirrors, provision extra backup copies, set up test instances, and so on.
All of this is made possible by the pg_basebackup command, which forms the basis of many other derived tools. This recipe will cover the basic usage of this backup command so we can leverage it for the rest of this book.