-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | PostgreSQL backend for the Selda database EDSL. -- -- PostgreSQL backend for the Selda database EDSL. Requires the -- PostgreSQL libpq development libraries to be installed. @package selda-postgresql @version 0.1.8.1 -- | PostgreSQL backend for Selda. module Database.Selda.PostgreSQL data PG -- | PostgreSQL connection information. data PGConnectInfo PGConnectInfo :: Text -> Int -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> PGConnectInfo -- | Host to connect to. [pgHost] :: PGConnectInfo -> Text -- | Port to connect to. [pgPort] :: PGConnectInfo -> Int -- | Name of database to use. [pgDatabase] :: PGConnectInfo -> Text -- | Schema to use upon connection. [pgSchema] :: PGConnectInfo -> Maybe Text -- | Username for authentication, if necessary. [pgUsername] :: PGConnectInfo -> Maybe Text -- | Password for authentication, if necessary. [pgPassword] :: PGConnectInfo -> Maybe Text -- | Perform the given computation over a PostgreSQL database. The database -- connection is guaranteed to be closed when the computation terminates. withPostgreSQL :: (MonadIO m, MonadMask m) => PGConnectInfo -> SeldaT PG m a -> m a -- | Connect to the given database on the given host, on the default -- PostgreSQL port (5432): -- --
-- withPostgreSQL ("my_db" `on` "example.com") $ do
-- ...
--
on :: Text -> Text -> PGConnectInfo
infixl 7 `on`
-- | Add the given username and password to the given connection
-- information:
--
--
-- withPostgreSQL ("my_db" `on` "example.com" `auth` ("user", "pass")) $ do
-- ...
--
--
-- For more precise control over the connection options, you should
-- modify the PGConnectInfo directly.
auth :: PGConnectInfo -> (Text, Text) -> PGConnectInfo
infixl 4 `auth`
-- | Open a new PostgreSQL connection. The connection will persist across
-- calls to runSeldaT, and must be explicitly closed using
-- seldaClose when no longer needed.
pgOpen :: (MonadIO m, MonadMask m) => PGConnectInfo -> m (SeldaConnection PG)
pgOpen' :: (MonadIO m, MonadMask m) => Maybe Text -> ByteString -> m (SeldaConnection PG)
-- | Close a reusable Selda connection. Closing a connection while in use
-- is undefined. Passing a closed connection to runSeldaT results
-- in a SeldaError being thrown. Closing a connection more than
-- once is a no-op.
seldaClose :: MonadIO m => SeldaConnection b -> m ()
-- | Convert PGConnectInfo into ByteString
pgConnString :: PGConnectInfo -> ByteString
pgPPConfig :: PPConfig
instance Database.Selda.JSON.JSONBackend Database.Selda.PostgreSQL.PG