vertica_schema - Adds or removes Vertica database schema and roles.

New in version 2.0.

Synopsis

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.

Maintenance

This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Community, see here.

Author

  • Dariusz Owczarek (@dareko)

Hint

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