Database replication is the term we use to describe the technology used to maintain a copy of a set of data on a remote system.
There are usually two main reasons for you wanting to do this, and those reasons are often combined:
- High Availability: Reducing the chances of data unavailability by having multiple systems, each holding a full copy of the data.
- Data Movement: Allowing data to be used by additional applications or workload on additional hardware. Examples of this are Reference Data Management (RDM), where a single central server might provide information to many other applications, and Business Intelligence/Reporting Systems.
Of course, both of those topics are complex areas, and there are many architectures and possibilities for implementing each of them.
What we will talk about here is High Availability, where there is no transformation of the data. We simply copy the data from one PostgreSQL database server to another. So we are specifically avoiding all discussion on ETL tools, EAI tools, inter-database migration, data warehousing strategies, and so on. Those are valid topics in IT architecture; it's just that we don't cover them in this book.