veza/ansible/roles/postgres/tasks/databases.yml
2025-12-03 22:56:50 +01:00

35 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