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.
