ansible.builtin.postgresql_lang (v2.5.10) — module

Adds, removes or changes procedural languages with a PostgreSQL database.

| "added in version" 1.7 of ansible.builtin"

Authors: Jens Depuydt (@jensdepuydt)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.5.10

Description

Adds, removes or changes procedural languages with a PostgreSQL database.

This module allows you to add a language, remote a language or change the trust relationship with a PostgreSQL database. The module can be used on the machine where executed or on a remote host.

When removing a language from a database, it is possible that dependencies prevent the database from being removed. In that case, you can specify casade to automatically drop objects that depend on the language (such as functions in the language). In case the language can't be deleted because it is required by the database system, you can specify fail_on_drop=no to ignore the error.

Be carefull when marking a language as trusted since this could be a potential security breach. Untrusted languages allow only users with the PostgreSQL superuser privilege to use this language to create new functions.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Add language pltclu to database testdb if it doesn't exist:
- postgresql_lang db=testdb lang=pltclu state=present

# Add language pltclu to database testdb if it doesn't exist and mark it as trusted:
# Marks the language as trusted if it exists but isn't trusted yet
# force_trust makes sure that the language will be marked as trusted
- postgresql_lang:
    db: testdb
    lang: pltclu
    state: present
    trust: yes
    force_trust: yes
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Remove language pltclu from database testdb:
- postgresql_lang:
    db: testdb
    lang: pltclu
    state: absent
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Remove language pltclu from database testdb and remove all dependencies:
- postgresql_lang:
    db: testdb
    lang: pltclu
    state: absent
    cascade: yes
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Remove language c from database testdb but ignore errors if something prevents the removal:
- postgresql_lang:
    db: testdb
    lang: pltclu
    state: absent
    fail_on_drop: no

Inputs

    
db:
    default: null
    description:
    - name of database where the language will be added, removed or changed
    required: false

lang:
    default: null
    description:
    - name of the procedural language to add, remove or change
    required: true

port:
    default: 5432
    description:
    - Database port to connect to.
    required: false

state:
    choices:
    - present
    - absent
    default: present
    description:
    - The state of the language for the selected database
    required: false

trust:
    choices:
    - 'yes'
    - 'no'
    default: false
    description:
    - make this language trusted for the selected db
    required: false

cascade:
    choices:
    - 'yes'
    - 'no'
    default: false
    description:
    - when dropping a language, also delete object that depend on this language.
    - only used when C(state=absent).
    required: false

login_host:
    default: localhost
    description:
    - Host running PostgreSQL where you want to execute the actions.
    required: false

login_user:
    default: postgres
    description:
    - User used to authenticate with PostgreSQL
    required: false

force_trust:
    choices:
    - 'yes'
    - 'no'
    default: false
    description:
    - marks the language as trusted, even if it's marked as untrusted in pg_pltemplate.
    - use with care!
    required: false

fail_on_drop:
    choices:
    - 'yes'
    - 'no'
    default: 'yes'
    description:
    - if C(yes), fail when removing a language. Otherwise just log and continue
    - in some cases, it is not possible to remove a language (used by the db-system).
      When         dependencies block the removal, consider using C(cascade).
    required: false

login_password:
    default: null
    description:
    - Password used to authenticate with PostgreSQL (must match C(login_user))
    required: false