==========================
PostgreSQL/psycopg Backend
==========================

This is notes about PostreSQL backend based on the psycopg adapter for
roundup issue tracker.


Prerequisites
=============

To use PostgreSQL as backend for storing roundup data, you should
additionally install:

1. PostgreSQL 7.x - http://www.postgresql.org/

2. The psycopg python interface to PostgreSQL:
   http://initd.org/software/initd/psycopg


Running the PostgreSQL unit tests
=================================

The user that you're running the tests as will need to be able to access
the postgresql database on the local machine and create and drop
databases. Edit the ``test/test_postgresql.py`` database connection info if
you wish to test against a different database.

The test database will be called "rounduptest".


Additional configuration
========================

To initialise and use PostgreSQL database roundup's configuration file
(``config.py`` in the tracker's home directory) should be ammended with
the following constants (substituting real values, obviously)::

    POSTGRESQL_DATABASE = {'database': 'rounduptest'}

Note that it's usually a good idea to explicitly specify the user which is
to be used access the database too, to avoid permissions problems. If
postgresql is not local, or a different user is to be used, then more
information may be supplied::

    POSTGRESQL_DATABASE = {
        'host': 'localhost', 'port': 5432,
        'database': 'roundup'
        'user': 'roundup', 'password': 'roundup',
    }

Also note that you can leave some values out of
``POSTGRESQL_DATABASE``: 'host' and 'port' are not necessary when
connecting to a local database and 'password'
is optional if postgres trusts local connections.

The user specified in ``user`` must have rights to create a new database
and to connect to the "template1" database, used while initializing roundup.



Credit
======

The postgresql backend was originally submitted by Federico Di Gregorio
<fog@initd.org>

