Before we can automate something, we need to understand the corresponding manual process.
Throughout this book, it is assumed that we are using a Red Hat-based Linux distribution, such as Fedora or CentOS. Most Linux distributions are similar in principle, except that the command set used for package operations will perhaps differ a bit.
For the exercises, you can either use a physical server or a virtual machine installed in VirtualBox.
First, we need the PostgreSQL relational database. Use this command:
dnf install postgresql
This will check whether there is a PostgreSQL server installed already. Otherwise, it will fetch the PostgreSQL packages from a remote yum repository and install it. So, on reflection, many of the potentially manual steps involved are already automated. We don't need to compile the software, check software versions, install dependencies...