This file contains detailed information on how to configure and use django-postgresql-manager.
This document is written in reStructuredText (rst). Although reStructuredText is an easy-to-read plain text markup format, it is recommended to convert it to HTML for a better reading experience.
In order to convert this document to HTML you need docutils, which you can install in your system using pip:
pip install docutils
Or easy_install:
easy_install docutils
Once docutils is installed, you can use the rst2html.py utility to do the conversion:
rst2html.py HELP help.html
Then use any web browser to view the exported help.html file.
This application requires that you create a PostgreSQL (refered to as Pg hereafter) role which will be used for the role and database management.
While in the Pg shell as a superuser, create the administrator role:
CREATE ROLE administrator WITH LOGIN CREATEDB CREATEROLE PASSWORD '1234';
This section outlines the configuration options that need to be set in your Django project's settings.py file.
Add an extra database connection, named PostgreSQL_manager_conn, which will be used to connect to the PostgreSQL cluster using the administrator role:
DATABASES = { ... # Database connection settings for PostgreSQL_manager 'PostgreSQL_manager_conn': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'postgres', 'USER': 'administrator', 'PASSWORD': '1234', 'HOST': 'localhost', 'PORT': '5432', 'OPTIONS': { 'autocommit': True, }, }, ... }
Important Note: It should be noted that the PostgreSQL_manager_conn database connection is only used to perform role and database management on the PostgreSQL Cluster. No extra databases or tables will be created. The PostgreSQL_manager application specific tables will be created in the Django project's default database, which may exist in any database backend.
Add the PostgreSQL_manager app in the INSTALLED_APPS setting:
INSTALLED_APPS = ( ... 'PostgreSQL_manager', ... )
PostgreSQL_manager supports the following configuration settings:
Finally synchronize your project database:
python manage.py syncdb