@hackage gargoyle-postgresql0.2.0.2

Manage PostgreSQL servers with gargoyle

This package provides tools for managing PostgreSQL servers that live in local folders and communicate via a Unix domain socket. It uses the gargoyle package in order to automatically initialize, spin up, and spin down such servers according to client demand.

The `gargoyle-psql` executable is such a client which will try to connect to a PostgreSQL server at a given location:

gargoyle-psql db
psql (9.5.6)
Type "help" for help.

postgres=#

Note that `gargoyle-psql` assumes that PostgreSQL executables such as psql are available on the PATH. A custom Gargoyle is required to use non-standard PostgreSQL installations.

The following is an example of using this package to run postgresql-simple actions using a local DB:

import Database.PostgreSQL.Simple
import Gargoyle
import Gargoyle.PostgreSQL

withDb :: String -> (Connection -> IO a) -> IO a
withDb dbPath a = withGargoyle defaultPostgres dbPath $ \dbUri -> a =<< connectPostgreSQL dbUri