Documentation

vertica_schema - Adds or removes Vertica database schema and roles.

New in version 2.0.

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

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Author

  • Dariusz Owczarek (@dareko)

Hint

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