This blog was co-written by Ahsan Hadi.
The idea of ‘horizontal scalability’ was discussed in great detail at PGCon 2014 in Ottawa this year. It is great to see the community discussing ideas on how PostgreSQL can incorporate horizontally scalable features into the core of the database. Although premature, there is talk of using and extending the Foreign Data Wrapper infrastructure and enhancing the partitioning feature in Postgres to provide sharding. It is undoubtedly going to be a long road before we have the final product, but it is good to see that we have started to move in the right direction.
As the community continues to move closer to bringing horizontal scalability to Postgres, we have already begun looking to some other products that can enable horizontal scalability of the database through other techniques. One such product is Pgpool-II. Pgpool-II is middleware that sits in between Postgres servers and Postgres database clients. It is most commonly used to provide connection pooling, load balancing for read scalability and high availability.
In this post, we are going to discuss pgpool-II’s load balancing / statement routing and high availability features, explore how suitable these features are for production usage and examine some real world scenarios. Read the rest of this entry »Tweet