birdhousebuilder.recipe.postgres
Contents
Introduction
birdhousebuilder.recipe.postgres
is a Buildout recipe to install and configure Postgres database with Anaconda.
Postgres will be deployed as a Supervisor service.
The recipe is based on https://github.com/makinacorpus/makina.recipe.postgres.
This recipe is used by the Birdhouse project.
Usage
The recipe requires that Anaconda is already installed. It assumes that the default Anaconda location is in your home directory ~/anaconda
. Otherwise you need to set the ANACONDA_HOME
environment variable or the Buildout option anaconda-home
.
It installs the postgresql
package from a conda channel in a conda environment named birdhouse
. The location of the birdhouse environment is .conda/envs/birdhouse
. It deploys a Supervisor configuration for Postgres in ~/.conda/envs/birdhouse/etc/supervisor/conf.d/postgres.conf
. Supervisor can be started with ~/.conda/envs/birdhouse/etc/init.d/supervisor start
.
The Postgres database files are by default in ~/.conda/envs/birdhouse/var/lib/postgres
.
The recipe depends on birdhousebuilder.recipe.conda
and birdhousebuilder.recipe.supervisor
.
Supported options
The recipe supports the following options:
- anaconda-home
-
Buildout option with the root folder of the Anaconda installation. Default:
$HOME/anaconda
. The default location can also be set with the environment variableANACONDA_HOME
. Example:export ANACONDA_HOME=/opt/anaconda
Search priority is:
-
anaconda-home
inbuildout.cfg
$ANACONDA_HOME
$HOME/anaconda
-
- port
- Port used for Postgres. Default: 5433.
- pgdata
- path to the database files. Default:
~/.conda/envs/birdhouse/var/lib/postgres
- initdb
- Options for Postgres initialisation. Default:
--auth=trust
- cmds
-
psql
commands to setup your database schema and users.
Example usage
The following example buildout.cfg
installs Postgres with Anaconda:
[buildout] parts = postgres anaconda-home = /home/myself/anaconda [postgres] recipe = birdhousebuilder.recipe.postgres port = 5433 cmds = createuser -p 5433 --createdb --no-createrole --no-superuser --login demo createdb -p 5433 --owner=demo demo
After installing with Buildout start the Postgres service with:
$ cd /home/myself/.conda/envs/birdhouse $ etc/init.d/supervisord start # start|stop|restart $ bin/supervisorctl status # check that postgres is running