Scaling a postgres server to multiple servers Scaling a postgres server to multiple servers postgresql postgresql

Scaling a postgres server to multiple servers


You are looking at a limited set of choices, very dependent on what your specific requirements are (read-to-write ratios and how tolerant your application is of occasional inconsistent reads [synchronous vs. asynchronous replication? master-slave vs. multi-master?], how strongly connected your tables are [clustering], etc.)


UPDATE

Over six years have elapsed since the original answer. Please refer to the High Availability, Load Balancing, and Replication chapter in the PostgreSQL documentation for the latest solutions available to you.


Did you check what is your bottleneck? What are the queries that make your server work hard? Maybe it can be tuned better.

If tuning will not help it is often much easier to upgrade a server than to set replication. Adding some disks in RAID1 or RAID10, adding some RAM, more cores and faster processor. A good RAID controller with battery backed cache would make a big difference too.

Replication id good for high availability but often a bigger server will be more cost effective if you have performance problems.


There's Postgres Advanced Server, and Continuent Tungsten are also worth looking into for an enterprise class solution.