PGX is a pure-OCaml PostgreSQL client library, supporting Async, LWT, or
This is an early release. The API is likely to change significantly before
the 1.0 release.
This library focuses on correctness and safety, with features like:
It is nearly impossible to try to execute a prepared statement that hasn't
Trying to run multiple queries at the same time will work properly (although
there's no performance benefit, since we currently don't send queries in
Lots of automated tests.
Pgx.Valuefor parameters and returned data, encouraging people to use
the built-in converters instead of trying to handle everything as a string.
Async and LWT support are built in, no need to write your own IO module.
We also provide a relatively high-level interface, like
which prepares a statement, executes it with the given parameters, returns an
Async.Pipe.Reader.t (so you can stream results), and unprepares the statement
when the query is finished.
Significant portions of the code come from PG'Ocaml.
opam pin add pgx https://github.com/arenadotio/pgx.git
with-test & < "3.0.0"