postgresql-simple-0.0.3: Mid-Level PostgreSQL client library

MaintainerLeon P Smith <>



The Result typeclass, for converting a single value in a row returned by a SQL query into a more useful Haskell representation.

A Haskell numeric type is considered to be compatible with all PostgreSQL numeric types that are less accurate than it. For instance, the Haskell Double type is compatible with the PostgreSQL's 32-bit Int type because it can represent a Int exactly. On the other hand, since a Double might lose precision if representing a 64-bit BigInt, the two are not considered compatible.



class Result a whereSource

A type that may be converted from a SQL type.


convert :: Field -> Maybe ByteString -> Either SomeException aSource

Convert a SQL value to a Haskell value.

Returns an exception if the conversion fails. In the case of library instances, this will usually be a ResultError, but may be a UnicodeException.

data ResultError Source

Exception thrown if conversion from a SQL value to a Haskell value fails.



The SQL and Haskell types are not compatible.


A SQL NULL was encountered when the Haskell type did not permit it.


The SQL value could not be parsed, or could not be represented as a valid Haskell value, or an unexpected low-level error occurred (e.g. mismatch between metadata and actual data in a row).