vertica_schema – Adds or removes Vertica database schema and roles

Synopsis

  • Adds or removes Vertica database schema and, optionally, roles with schema access privileges.
  • A schema will not be removed until all the objects have been dropped.
  • In such a situation, if the module tries to remove the schema it will fail and only remove roles created for the schema if they have no dependencies.

Requirements

The below requirements are needed on the host that executes this module.

  • unixODBC
  • pyodbc

Parameters

Parameter Choices/Defaults Comments
cluster
-
Default:
"localhost"
Name of the Vertica cluster.
create_roles
-
Comma separated list of roles to create and grant usage and create access to the schema.

aliases: create_role
db
-
Name of the Vertica database.
login_password
-
The password used to authenticate with.
login_user
-
Default:
"dbadmin"
The username used to authenticate with.
name
- / required
Name of the schema to add or remove.
owner
-
Name of the user to set as owner of the schema.
port
-
Default:
5433
Vertica cluster port to connect to.
state
-
    Choices:
  • present ←
  • absent
Whether to create present, or drop absent a schema.
usage_roles
-
Comma separated list of roles to create and grant usage access to the schema.

aliases: usage_role

Notes

Note

  • The default authentication assumes that you are either logging in as or sudo’ing to the dbadmin account on the host.
  • This module uses pyodbc, a Python ODBC database adapter. You must ensure that unixODBC and pyodbc is installed on the host and properly configured.
  • Configuring unixODBC for Vertica requires Driver = /opt/vertica/lib64/libverticaodbc.so to be added to the Vertica section of either /etc/odbcinst.ini or $HOME/.odbcinst.ini and both ErrorMessagesPath = /opt/vertica/lib64 and DriverManagerEncoding = UTF-16 to be added to the Driver section of either /etc/vertica.ini or $HOME/.vertica.ini.

Examples

- name: creating a new vertica schema
  vertica_schema: name=schema_name db=db_name state=present

- name: creating a new schema with specific schema owner
  vertica_schema: name=schema_name owner=dbowner db=db_name state=present

- name: creating a new schema with roles
  vertica_schema:
    name=schema_name
    create_roles=schema_name_all
    usage_roles=schema_name_ro,schema_name_rw
    db=db_name
    state=present

Status

Authors

  • Dariusz Owczarek (@dareko)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.