-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Backend for the persistent library using postgresql.
--
-- Based on the postgresql-simple package
@package persistent-postgresql
@version 0.7.0
-- | A postgresql backend for persistent.
module Database.Persist.Postgresql
-- | Create a PostgreSQL connection pool and run the given action. The pool
-- is properly released after the action finishes using it. Note that you
-- should not use the given ConnectionPool outside the action
-- since it may be already been released.
withPostgresqlPool :: MonadIO m => ConnectionString -> Int -> (ConnectionPool -> m a) -> m a
-- | Same as withPostgresqlPool, but instead of opening a pool of
-- connections, only one connection is opened.
withPostgresqlConn :: ResourceIO m => ConnectionString -> (Connection -> m a) -> m a
-- | Create a PostgreSQL connection pool. Note that it's your
-- responsability to properly close the connection pool when unneeded.
-- Use withPostgresqlPool for an automatic resource control.
createPostgresqlPool :: MonadIO m => ConnectionString -> Int -> m ConnectionPool
-- | A libpq connection string. A simple example of connection
-- string would be "host=localhost port=5432 user=test dbname=test
-- password=test". Please read libpq's documentation at
-- http://www.postgresql.org/docs/9.1/static/libpq-connect.html
-- for more details on how to create such strings.
type ConnectionString = ByteString
-- | Information required to connect to a PostgreSQL database using
-- persistent's generic facilities. These values are the same
-- that are given to withPostgresqlPool.
data PostgresConf
PostgresConf :: ConnectionString -> Int -> PostgresConf
-- | The connection string.
pgConnStr :: PostgresConf -> ConnectionString
-- | How many connections should be held on the connection pool.
pgPoolSize :: PostgresConf -> Int
instance PersistConfig PostgresConf
instance Param P