Package (0.5.0)



Handles a connection from a client to Spanner. This ConnectionHandler uses WireMessage to receive and send all messages from and to the client, using the intermediate representation IntermediateStatement that servers as a middle layer between Postgres and Spanner.

Each ConnectionHandler is also a Thread. Although a TCP connection does not necessarily need to have its own thread, this makes the implementation more straightforward.


The proxy server listens for incoming client connections and starts a new ConnectionHandler for each incoming connection.


Effectively this is the main class



Status of a ConnectionHandler


PostgreSQL query mode (see also here).


The PostgreSQL wire protocol can send data in both binary and text format. When using text format, the Server will normally send output back to the client using a format understood by PostgreSQL clients. If you are using the server with a text-only client that does not try to interpret the data that is returned by the server, such as for example psql, then it is advisable to use Cloud Spanner formatting. The server will then return all data in a format understood by Cloud Spanner.

The default format used by the server is DataFormat#POSTGRESQL_TEXT.