{"repo":"mzabani/hpgsql","free":true,"listed":false,"github":"https://github.com/mzabani/hpgsql","clone":"git clone https://github.com/mzabani/hpgsql.git","description":"A pure Haskell (no libpq) postgresql driver that draws inspiration from postgresql-simple, has streaming built into its core, speaks postgresql's binary protocol, has pipelining, interruption safety, and (reasonable) thread safety.","language":"Haskell","stars":25,"topics":["binary-protocol","postgresql","postgresql-driver"],"license":null,"category":"databases-storage","readme_excerpt":"Hpgsql is a PostgreSQL driver written in pure Haskell (no libpq), with an API largely inspired by the great postgresql-simple library, but featuring: - Usage of PostgreSQL's binary protocol - Query arguments passed via the protocol instead of being escaped into the query string - Pipelining - Prepared statements - Ability to stream query results directly from the socket (not just with cursors) - Interruption safety, except for very specific (and documented) edge cases - Thread safety, unless specific (and documented) instructions say otherwise - A SQL quasiquoter like the one in postgresql-query and hasql-interpolate Here's an example of a pipeline mixing streams, prepared and non prepared statements: Current status Hpgsql is in active development, is new and has not been used in Production yet. It currently lacks many of the authentication methods that libpq provides; for now only cleartext, MD5 and SCRAM-SHA-256 password auth are supported, and only unencrypted connections. That being said, one of my other projects, codd, has a tests-passing branch using hpgsql-simple-compat (the nearly API compatible fork of postgresql-simple described in the next section) with very few modifications. Migrating from postgresql-simple This repository contains a fork of postgresql-simple that preserves as much as possible the names of modules, functions, types, classes, exceptions, etc. Its purpose is to ease migrating to hpgsql, and I intend to fully support its development to make it and k","default_branch":null,"files":null,"tree":[],"storefront":"/r/mzabani","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mzabani/hpgsql/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}