A Buildout recipe to install and configure Postgres database with Anaconda.
The recipe is based on https://github.com/makinacorpus/makina.recipe.postgres.
This recipe is used by the Birdhouse project.
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.
The recipe supports the following options:
Buildout option with the root folder of the Anaconda installation. Default: $HOME/anaconda. The default location can also be set with the environment variable ANACONDA_HOME. Example:
Search priority is:
- anaconda-home in buildout.cfg
- Port used for Postgres. Default: 5433.
- path to the database files. Default: ~/.conda/envs/birdhouse/var/lib/postgres
- Options for Postgres initialisation. Default: --auth=trust
- psql commands to setup your database schema and users.
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