May 26, 2018
PL/Proxy - Function-based sharding for PostgreSQL
PL/Proxy is a PostgreSQL procedural language PL handler that allows to do remote procedure calls between PostgreSQL databases, with optional sharding.
PL/Proxy was developed in Skype as a scalability solution for PostgreSQL database. At first it was very thin PL component that connected to C++ server that handled all sharding decisions. This proved to be too complex setup and in version 2 it was re-written to current archtecture of PL that handles sharding and generic pooler process PgBouncer that is able to handle large amount of standard PostgreSQL connections that the PL makes.