A native Haskell driver for PostgreSQL
Go to file
VyacheslavHashov 9b93cc34a0 Base encoders
2017-03-03 05:14:52 +03:00
.images Updated README.md 2017-02-21 02:41:39 +03:00
bench Moved out high-lever from bench and tests 2017-03-01 19:31:42 +03:00
cbits More useful DataRows 2017-02-25 20:40:36 +03:00
src/Database/PostgreSQL Base encoders 2017-03-03 05:14:52 +03:00
tests Some refactorins decoders 2017-03-01 19:55:48 +03:00
tests_connection Refactored raw connection creating 2017-02-01 05:42:35 +03:00
.gitignore Initial commit 2017-01-02 00:56:56 +03:00
.travis.yml Connection mode 2017-01-28 23:58:12 +03:00
LICENSE Initial commit 2017-01-02 00:56:56 +03:00
postgres-wire.cabal Base encoders 2017-03-03 05:14:52 +03:00
README.md Updated README.md 2017-02-21 02:41:39 +03:00
Setup.hs backbone for project 2017-01-02 03:48:20 +03:00
stack.yaml High-lever prototype for decoders 2017-03-01 03:37:27 +03:00

License MIT Linux build

Postgres-wire

A native Haskell driver for PostgreSQL.

Postgres-wire is an efficient implementation of the PostgreSQL binary protocol designed specifically for the high performance and low latency.

Performance

Requests

Each test consisted of running queries that select 300 rows of 100 bytes each in a loop with 8 concurrent connections to the database server for 10 seconds. The benchmark results were obtained from Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz, 32 GB DDR4, PostgreSQL 9.5.5.

Features

  • No dependencies on C libraries such as libpq-dev.
  • Concise Haskell API.
  • First-class notifications support.
  • Sending multiple queries in a single batch.
  • Built-in prepared statement cache.
  • Fast serialization/deserialization.
  • In progress. Built-in TLS.
  • In progress. Encoders/decoders for built-in PostgreSQL types and advanced types: arrays, ranges, composites.

Documentation and examples

Will be available on Hackage.