From 87c123365855069cd80d426088b88be6aaf606c2 Mon Sep 17 00:00:00 2001 From: Andrea Dell'Amico <adellam@isti.cnr.it> Date: Wed, 31 Mar 2021 17:18:58 +0200 Subject: [PATCH] manage extensions. --- tasks/manage_pg_db.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/tasks/manage_pg_db.yml b/tasks/manage_pg_db.yml index 4e681ad..c9ea35f 100644 --- a/tasks/manage_pg_db.yml +++ b/tasks/manage_pg_db.yml @@ -3,7 +3,7 @@ become: True become_user: postgres postgresql_user: user={{ item.user }} password={{ item.pwd }} role_attr_flags={{ item.roles }} port={{ psql_db_port }} state={{ item.userstate | default('present') }} - with_items: '{{ psql_db_data | default(omit) }}' + with_items: '{{ psql_db_data | default([]) }}' when: item.roles is defined tags: [ 'postgresql', 'postgres', 'pg_db', 'pg_user' ] @@ -11,7 +11,7 @@ become: True become_user: postgres postgresql_db: db={{ item.name }} port={{ psql_db_port }} encoding={{ item.encoding }} owner={{ item.user }} template=template0 state={{ item.state | default('present') }} - with_items: '{{ psql_db_data | default(omit) }}' + with_items: '{{ psql_db_data | default([]) }}' when: item.managedb | default(True) tags: [ 'postgresql', 'postgres', 'pg_db' ] @@ -27,10 +27,19 @@ port: '{{ psql_db_port }}' state: "{{ item.userstate | default('present') }}" grant_option: "{{ item.grant_option | default('yes') }}" - with_items: '{{ psql_db_privs | default(omit) }}' - when: psql_db_privs is defined + with_items: '{{ psql_db_privs | default([]) }}' tags: [ 'postgresql', 'postgres', 'pg_db', 'pg_user', 'postgresql_privs' ] +- name: Add postgres extensions to the databases, if needed + become: True + become_user: postgres + postgresql_ext: name={{ item.1 | default(omit) }} db={{ item.0.name }} port={{ psql_db_port }} + with_subelements: + - '{{ psql_db_extensions | default([]) }}' + - extensions + when: psql_db_extensions is defined + tags: [ 'postgresql', 'postgres', 'pg_extensions', 'pg_db' ] + # - name: Add schemas to a database. # become: True # become_user: postgres