In this chapter, we will discuss the problem of scalability. This term means the ability of a software system to grow as the business using it grows. PostgreSQL provides some features that help you to build a scalable solution but, strictly speaking, PostgreSQL itself is not scalable. It can effectively utilize the following resources of a single machine:
- It uses multiple CPU cores to execute a single query faster with the parallel query feature
- When configured properly, it can use all available memory for caching
- The size of the database is not limited; PostgreSQL can utilize multiple hard disks when multiple tablespaces are created; with partitioning, the hard disks could be accesses simultaneously, which makes data processing faster
However, when it comes to spreading a database solution to multiple machines, it can be quite problematic because a standard PostgreSQL...