mirar.database.user package

Module containing classes for interacting with postgres database

Submodules

mirar.database.user.postgres_admin module

Postgres Admin class

class mirar.database.user.postgres_admin.PostgresAdmin(db_user: str = None, db_password: str = None, db_hostname: str = '127.0.0.1', db_name: str = 'postgres', db_port: int = 5432)[source]

Bases: PostgresUser

An Admin postgres user, with additional functionality for creating new users

create_extension(extension_name: str, db_name: str)[source]

Function to create new extension for database

Parameters:
  • extension_name – name of extension to create

  • db_name – name of database to create extension in

Returns:

None

create_new_user(new_db_user: str, new_password: str)[source]

Create a new postgres user

Parameters:
  • new_db_user – new username

  • new_password – new user password

Returns:

None

create_schema(schema_name: str, db_name: str, db_user: str)[source]

Function to create new schema for database

Parameters:
  • extension_name – name of schema to create

  • db_name – name of database to create schema in

  • db_user – name of schema owner

Returns:

None

pass_env_variable = 'PG_ADMIN_PWD'
user_env_variable = 'PG_ADMIN_USER'

mirar.database.user.postgres_user module

Module containing postgres util functions

class mirar.database.user.postgres_user.PostgresUser(db_user: str = None, db_password: str = None, db_hostname: str = '127.0.0.1', db_name: str = 'postgres', db_port: int = 5432)[source]

Bases: object

Basic Postgres user class for executing functions

static create_db(db_name: str)[source]

Creates a database using credentials, if it does not exist

Parameters:

db_name – DB to create

Returns:

None

static has_extension(extension_name: str, db_name: str) bool[source]

Function to check if q3c extension exists

Parameters:
  • extension_name – name of extension to check

  • db_name – name of database to check

Returns:

boolean extension exists

static has_schema(schema_name: str, db_name: str) bool[source]

Function to check if schema exists and user can access.

Parameters:
  • extension_name – name of schema to check

  • db_name – name of database to check

Returns:

boolean extension exists

pass_env_variable = 'DB_PWD'
user_env_variable = 'DB_USER'
validate_credentials()[source]

Checks that user credentials exist

Returns:

None