[erlang-questions] [ANN] Asynchronous PostgreSQL driver, second release

Anton Lebedevich mabrek@REDACTED
Thu Feb 23 14:28:14 CET 2012


Hello!

https://github.com/mabrek/epgsql
branch named 'async'

It's a fork of Will Glozer's epgsql.

* Motivation

  When you need to execute several queries it involves several network
  round-trips between your application and database.
  PostgreSQL frontend/backend protocol supports request pipelining.
  It means that you don't need to wait for previous command to finish
  before sending next command. This version of driver makes full use
  of the protocol feature allowing faster execution.


* Difference highlights

  + 3 API sets: pgsql, apgsql and ipgsql:
    pgsql maintains backwards compatibility with original driver API,
    apgsql delivers complete results as regular erlang messages,
    ipgsql delivers results as messages incrementally (row by row)
  + internal queue of client requests, so you don't need to wait for
response to send next request
  + single process to hold driver state and receive socket data
  + execute several prepared statements as a batch
  + bind timestamps in erlang:now() format
  see CHANGES for full list.


Regards,
Anton Lebedevich.



More information about the erlang-questions mailing list