package pgx_async

  1. Overview
  2. Docs
Pgx_async - Pgx using Async for IO

Install

Dune Dependency

Authors

Maintainers

Sources

pgx-0.1.tbz
sha256=7c2f6dc86e2ad75b6119281b8db4509d60dce12d4c9de3d8fa7ccd43aa61c273
md5=b659449513e1b70b7a67a954d115d246

Description

Published: 31 May 2018

README

README.md

PGX is a pure-OCaml PostgreSQL client library, supporting Async, LWT, or synchronous operations.

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 been prepared.

  • 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 parallel).

  • Lots of automated tests.

  • Pgx.Value for 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 Pgx_async.execute_pipe, 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.

Setup

opam pin add pgx https://github.com/arenadotio/pgx.git

Examples

See pgx_async/bin/pgx_async_example.ml.

Dependencies (4)

  1. ppx_jane
  2. pgx = version
  3. async >= "v0.10.0"
  4. ocaml >= "4.04.2"

Dev Dependencies (2)

  1. ounit with-test
  2. base64 with-test & < "3.0.0"

Used by

None

Conflicts

None

OCaml

Innovation. Community. Security.