community.general.vertica_schema – Adds or removes Vertica database schema and roles.

Note

This plugin is part of the community.general collection.

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.vertica_schema.

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
string
Default:
"localhost"
Name of the Vertica cluster.
create_roles
string
Comma separated list of roles to create and grant usage and create access to the schema.

aliases: create_role
db
string
Name of the Vertica database.
login_password
string
The password used to authenticate with.
login_user
string
Default:
"dbadmin"
The username used to authenticate with.
name
string / required
Name of the schema to add or remove.
owner
string
Name of the user to set as owner of the schema.
port
string
Default:
5433
Vertica cluster port to connect to.
state
string
    Choices:
  • present ←
  • absent
Whether to create present, or drop absent a schema.
usage_roles
string
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
  community.general.vertica_schema: name=schema_name db=db_name state=present

- name: Creating a new schema with specific schema owner
  community.general.vertica_schema: name=schema_name owner=dbowner db=db_name state=present

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

Authors

  • Dariusz Owczarek (@dareko)