community.general.vertica_schema – Adds or removes Vertica database schema and roles.
Note
This plugin is part of the community.general collection (version 3.8.3).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
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 |
Comments |
---|---|
Name of the Vertica cluster. Default: “localhost” |
|
Comma separated list of roles to create and grant usage and create access to the schema. |
|
Name of the Vertica database. |
|
The password used to authenticate with. |
|
The username used to authenticate with. Default: “dbadmin” |
|
Name of the user to set as owner of the schema. |
|
Vertica cluster port to connect to. Default: 5433 |
|
Name of the schema to add or remove. |
|
Whether to create Choices:
|
|
Comma separated list of roles to create and grant usage access to the schema. |
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 thatunixODBC
andpyodbc
is installed on the host and properly configured.Configuring
unixODBC
for Vertica requiresDriver = /opt/vertica/lib64/libverticaodbc.so
to be added to theVertica
section of either/etc/odbcinst.ini
or$HOME/.odbcinst.ini
and bothErrorMessagesPath = /opt/vertica/lib64
andDriverManagerEncoding = UTF-16
to be added to theDriver
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)