Summary
In this chapter, we have gone over the process of database sharding for databases that are too big to take the write load on a single host, or where you just want to have the added resilience of having a system, where one host being down does not bring the whole system down.
In short, the process is:
Decide which tables you want to split over multiple hosts
Add the partition databases and move the data
Set up the proxy functions for all the functions accessing those tables
Watch for a little while that everything is working
Relax
Also, we also took a brief look at using PL/Proxy for simple remote queries to other PostgreSQL databases, which may be handy for some tasks even after the new Foreign Data Wrapper (FDW) functionality in PostgreSQL replaced it for many uses.
While PL/Proxy is not for everyone, it may well save the day if you are suddenly faced with rapid database growth and have the need for an easy and clean way to spread the database over many hosts.