[erlang-questions] PosegreSQL driver

Paul Guyot <>
Thu Mar 7 16:33:46 CET 2013


As there was yet another discussion on PostgreSQL drivers, we decided to eventually publish our own.

It can be found on GitHub:

Compared to existing drivers which served as an inspiration (and which we used initially), our driver features:

* OTP-supervision;
* transparently handling many PostgreSQL types, including arrays and numerics;
* cancellation of running queries using out-of-band protocol;
* SSL support;
* timeout for queries;
* iteration on results using protocol-level implicit portals and cursors, with fold, map and foreach;
* mapping of types to Erlang using a mapping of known types, handling new types that may arise through the life of the connection (this feature is an improvement of oidmap handling in Christian Sunesson's driver);
* handling both floating point and integer datetimes (this feature is an improvement of timestamp handling in Will Glozer's driver).

All these features and more (e.g. the driver passes the erlang's node name as the application_name) were developed for our needs and we hope that others would enjoy them.
This driver is currently in use with PostgreSQL 9.2 servers.

We don't use rebar internally but I made sure ./rebar compile and ./rebar eunit works.

Semiocast            http://semiocast.com/
+33.183627948 - 20 rue Lacaze, 75014 Paris

More information about the erlang-questions mailing list