postgresql-typed: PostgreSQL interface with compile-time SQL type checking, optional HDBC backend

[ bsd3, database, library ] [ Propose Tags ]

Automatically type-check SQL statements at compile time. Uses Template Haskell and the raw PostgreSQL protocol to describe SQL statements at compile time and provide appropriate type marshalling for both parameters and results. Allows not only syntax verification of your SQL but also full type safety between your SQL and Haskell. Supports many built-in PostgreSQL types already, including arrays and ranges, and can be easily extended in user code to support any other types.

Also includes an optional HDBC backend that, since it uses the raw PostgreSQL protocol, may be more efficient than the normal libpq backend in some cases (though provides no more type safety than HDBC-postgresql when used without templates).

Originally based on Chris Forno's templatepg library.


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
md5

Enable md5 password authentication method.

Enabled
binary

Use binary protocol encoding via postgresql-binary. This may put additional restrictions on supported PostgreSQL server versions.

Enabled
text

Support Text string values via text (implied by binary).

Enabled
uuid

Support the UUID type via uuid (implied by binary).

Enabled
scientific

Support decoding numeric via scientific (implied by binary).

Enabled
aeson

Support decoding json via aeson.

Enabled
hdbc

Provide an HDBC driver backend using the raw PostgreSQL protocol.

Enabled
tls

Enable TLS (SSL) support in PostgreSQL server connections.

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.4.0, 0.4.1, 0.4.2, 0.4.2.1, 0.4.2.2, 0.4.3, 0.4.4, 0.4.5, 0.5.0, 0.5.1, 0.5.2, 0.5.3.0, 0.6, 0.6.0.1, 0.6.1.0, 0.6.1.1, 0.6.1.2, 0.6.2.0, 0.6.2.1, 0.6.2.2, 0.6.2.3, 0.6.2.4, 0.6.2.5
Dependencies aeson (>=0.7), array, attoparsec (>=0.12 && <0.14), base (>=4.8 && <5), binary, bytestring (>=0.10.2), containers, cryptonite (>=0.5), data-default, haskell-src-meta, HDBC (>=2.2), memory (>=0.5), network, old-locale, postgresql-binary (>=0.8), scientific (>=0.3), template-haskell, text (>=1), time, tls, utf8-string, uuid (>=1.3), x509, x509-store, x509-validation [details]
License BSD-3-Clause
Copyright 2010-2013 Chris Forno, 2014-2019 Dylan Simon
Author Dylan Simon
Maintainer Dylan Simon <dylan-pgtyped@dylex.net>
Category Database
Home page https://github.com/dylex/postgresql-typed
Bug tracker https://github.com/dylex/postgresql-typed/issues
Source repo head: git clone git://github.com/dylex/postgresql-typed
Uploaded by DylanSimon at 2019-10-05T16:48:12Z
Distributions LTSHaskell:0.6.2.5, NixOS:0.6.2.5, Stackage:0.6.2.5
Reverse Dependencies 5 direct, 2 indirect [details]
Downloads 14636 total (79 in the last 30 days)
Rating 1.25 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2019-10-05 [all 1 reports]

Readme for postgresql-typed-0.6.1.0

[back to package description]

Haskell PostgreSQL-typed

A Haskell PostgreSQL interface that provides type-safety through compile-time (template Haskell) database access. See the Haddock documentation in Database.PostgreSQL.Typed or the test cases for simple examples.

Build Status