postgresql-typed: PostgreSQL interface with compile-time SQL type checking, optional HDBC backend
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]
Modules
[Index] [Quick Jump]
- Database
- PostgreSQL
- Database.PostgreSQL.Typed
- Database.PostgreSQL.Typed.Array
- Database.PostgreSQL.Typed.Dynamic
- Database.PostgreSQL.Typed.Enum
- Database.PostgreSQL.Typed.ErrCodes
- Database.PostgreSQL.Typed.HDBC
- Database.PostgreSQL.Typed.Inet
- Database.PostgreSQL.Typed.Protocol
- Database.PostgreSQL.Typed.Query
- Database.PostgreSQL.Typed.Range
- Database.PostgreSQL.Typed.Relation
- Database.PostgreSQL.Typed.SQLToken
- Database.PostgreSQL.Typed.TH
- Database.PostgreSQL.Typed.TemplatePG
- Database.PostgreSQL.Typed.Types
- Database.PostgreSQL.Typed
- PostgreSQL
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
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 |
crypton | Use crypton rather than cryptonite. | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- postgresql-typed-0.6.2.5.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
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 && <2.3), array, attoparsec (>=0.12 && <0.15), base (>=4.8 && <5), binary, bytestring (>=0.10.2), containers, crypton, crypton-x509, crypton-x509-store, crypton-x509-validation, 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] |
Tested with | ghc ==7.10.3, ghc ==8.0.1 |
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 2023-11-09T23:50:15Z |
Distributions | LTSHaskell:0.6.2.5, NixOS:0.6.2.5, Stackage:0.6.2.5 |
Reverse Dependencies | 5 direct, 2 indirect [details] |
Downloads | 15223 total (135 in the last 30 days) |
Rating | 1.25 (votes: 1) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |