31 lines
1.1 KiB
YAML
31 lines
1.1 KiB
YAML
---
|
|
- name: Add a user for the postgresql DBs
|
|
become: True
|
|
become_user: postgres
|
|
postgresql_user: user={{ item.user }} password={{ item.pwd }} role_attr_flags={{ item.roles }} port={{ psql_db_port }}
|
|
with_items: '{{ psql_db_data }}'
|
|
when:
|
|
- psql_db_data is defined
|
|
- item.roles is defined
|
|
tags: [ 'postgresql', 'postgres', 'pg_db' ]
|
|
|
|
- name: Add the databases with the correct owner
|
|
become: True
|
|
become_user: postgres
|
|
postgresql_db: db={{ item.name }} port={{ psql_db_port }} encoding={{ item.encoding }} owner={{ item.user }} template=template0 state=present
|
|
with_items: '{{ psql_db_data }}'
|
|
when:
|
|
- psql_db_data is defined
|
|
- ( item.createdb is not defined or item.createdb )
|
|
tags: [ 'postgresql', 'postgres', 'pg_db' ]
|
|
|
|
- name: Add postgres extensions to the databases, if needed
|
|
become: True
|
|
become_user: postgres
|
|
postgresql_ext: name={{ item.1 }} db={{ item.0.name }} port={{ psql_db_port }}
|
|
with_subelements:
|
|
- '{{ psql_db_data | default ([]) }}'
|
|
- extensions
|
|
when: item.1 is defined
|
|
tags: [ 'postgresql', 'postgres', 'pg_extensions' ]
|