In scenarios when it is required to achieve better performance, it is quite common to set up more servers that would handle additional load and copy the same data there from a master server. In scenarios when high availability is required, this is also a typical solution to continuously copy the data to a standby server so that it could take over in case the master server crashes.
Before explaining how to set up data replication, let's quickly look at how PostgreSQL handles changes in data at the lower level.
When PostgreSQL processes a command that changes the data in the database, it writes the new data on disk to make it persistent. There are two locations on disk where the data is written:
- The data files located on Linux by default at
/var/lib/postgresql/10/main/base
. Here, the data is stored: tables, indexes, temporary tables, and other objects. The size of this directory is only limited by the size of the disk. - The transaction log located by...