36 lines
1.2 KiB
YAML
36 lines
1.2 KiB
YAML
|
|
---
|
||
|
|
# file: roles/postgres/tasks/databases.yml
|
||
|
|
|
||
|
|
- name: "create database(s)"
|
||
|
|
become: true
|
||
|
|
become_user: postgres
|
||
|
|
become_method: sudo
|
||
|
|
postgresql_db:
|
||
|
|
name: "{{ item.name }}"
|
||
|
|
owner: "{{ item.owner }}"
|
||
|
|
conn_limit: "{{ item.conn_limit | default(80) }}"
|
||
|
|
lc_collate: "{{ item.lc_collate | default(omit) }}"
|
||
|
|
lc_ctype: "{{ item.lc_ctype | default(omit) }}"
|
||
|
|
template: "{{ item.template | default(omit) }}"
|
||
|
|
loop: "{{ pg_databases }}"
|
||
|
|
register: postgres_create_database
|
||
|
|
tags: postgres
|
||
|
|
|
||
|
|
- name: "database extensions per database if defined"
|
||
|
|
become: true
|
||
|
|
become_user: postgres
|
||
|
|
become_method: sudo
|
||
|
|
postgresql_ext:
|
||
|
|
name: "{{ item[1] }}"
|
||
|
|
db: "{{ item[0].name }}"
|
||
|
|
# The "default([])" parameter allows to do nothing if the "pg_databases" variable is not defined - Doc: https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#defaulting-undefined-variables
|
||
|
|
loop: "{{ pg_databases | default([]) | subelements('extension_list', skip_missing=True) }}"
|
||
|
|
when:
|
||
|
|
- pg_replication_role != "replica"
|
||
|
|
tags: postgres
|
||
|
|
|
||
|
|
- name: "set fact postgres_share1_create_database"
|
||
|
|
set_fact:
|
||
|
|
postgres_share1_create_database: "{{ postgres_create_database }}"
|
||
|
|
tags: postgres
|