The idea behind streaming replication is simple. After an initial base backup, the secondary can connect to the master and fetch a transaction log in real time and apply it. Transaction log replay is not a single operation anymore, but rather a continuous process that is supposed to keep running for as long as the cluster exists.
Performing a basic setup
In this section, we will learn how to set up asynchronous replication quickly and easily. The goal is to set up a system that consists of two nodes.
Basically, most of the work has already been done for WAL archiving. However, to make it easy to understand, we will look at the entire process of setting up streaming because we cannot assume that WAL shipping is really already set up as needed.
The first thing to do is to go to the postgresql.conf file and adjust the following parameters:
wal_level = replica
max_wal_senders = 10 # or whatever value >= 2
# this is...