Tutorial: using postgres database¶
You can use a postgres database for PyWPS, the default is sqlite. PyWPS is using SQLAlchemy, see the PYWPS documentation for details.
First run the Emu default installation:
$ git clone https://github.com/bird-house/emu.git
$ cd emu
$ make clean install
The default installation is using sqlite. We now need a postgres database. If you don’t have one yet you can use a postgres docker container.
$ docker pull postgres
$ docker run --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres
The postgres database is now available on default port 5432.
SQLAlchemy needs the psycopg2 postgres adapter.
You can install it via Conda into the emu
environment.
$ conda install -n emu psycopg2
The SQLAlchemy connection string for this database is:
# postgresql+psycopg2://user:password@host:port/dbname
postgresql+psycopg2://postgres:postgres@localhost:5432/postgres
Configure this connection string in etc/custom.cfg
, logging
section, database
option:
$ vim etc/custom.cfg
[logging]
level = INFO
database = postgresql+psycopg2://postgres:postgres@localhost:5432/postgres
Start the emu service:
$ emu start -c etc/custom.cfg
Your Emu WPS service should be available at the following URL:
$ firefox http://localhost:5000/wps?request=GetCapabilities&service=WPS