fabtools.postgres

PostgreSQL users and databases

This module provides tools for creating PostgreSQL users and databases.

Manage users

fabtools.postgres.user_exists(name)[source]

Check if a PostgreSQL user exists.

fabtools.postgres.create_user(name, password, superuser=False, createdb=False, createrole=False, inherit=True, login=True, connection_limit=None, encrypted_password=False)[source]

Create a PostgreSQL user.

Example:

import fabtools

# Create DB user if it does not exist
if not fabtools.postgres.user_exists('dbuser'):
    fabtools.postgres.create_user('dbuser', password='somerandomstring')

# Create DB user with custom options
fabtools.postgres.create_user('dbuser2', password='s3cr3t',
    createdb=True, createrole=True, connection_limit=20)

Manage databases

fabtools.postgres.database_exists(name)[source]

Check if a PostgreSQL database exists.

fabtools.postgres.create_database(name, owner, template='template0', encoding='UTF8', locale='en_US.UTF-8')[source]

Create a PostgreSQL database.

Example:

import fabtools

# Create DB if it does not exist
if not fabtools.postgres.database_exists('myapp'):
    fabtools.postgres.create_database('myapp', owner='dbuser')