Replication can be used in many scaling scenarios. Its primary purpose of course is to create and maintain a backup database for the case of system failure. This is especially true for physical replication. However, replication can also be used to improve the performance of a solution based on PostgreSQL. Sometimes third-party tools can be used to implement complex scaling scenarios.