xoxys.postgres/tasks/post_tasks.yml

50 lines
2.0 KiB
YAML

---
- name: Force all notified handlers to activate pg_hba.conf
meta: flush_handlers
- name: Ensure postgres databases are present
postgresql_db:
name: "{{ item.name }}"
lc_collate: "{{ item.lc_collate | default('en_US.UTF-8') }}"
lc_ctype: "{{ item.lc_ctype | default('en_US.UTF-8') }}"
encoding: "{{ item.encoding | default('UTF-8') }}"
template: "{{ item.template | default('template0') }}"
login_host: "{{ item.login_host | default(omit) }}"
login_password: "{{ item.login_password | default(omit) }}"
login_user: "{{ item.login_user | default(postgres_user) }}"
login_unix_socket: "{{ item.login_unix_socket | default(omit) }}"
port: "{{ item.port | default(omit) }}"
owner: "{{ item.owner | default(omit) }}"
state: "{{ item.state | default('present') }}"
no_log: "{{ postgres_no_log }}"
loop: "{{ postgres_db + postgres_db_extra }}"
become: True
become_user: "{{ postgres_user }}"
- name: Ensure PostgreSQL users are present
postgresql_user:
name: "{{ item.name }}"
password: "{{ 'md5' + (item.password + item.name) | hash('md5') }}"
encrypted: "{{ item.encrypted | default('yes') }}"
priv: "{{ item.priv | default(omit) }}"
role_attr_flags: "{{ item.role_attr_flags | default(omit) }}"
db: "{{ item.db | default(omit) }}"
login_host: "{{ item.login_host | default(omit) }}"
login_password: "{{ item.login_password | default(omit) }}"
login_user: "{{ item.login_user | default(postgres_user) }}"
login_unix_socket: "{{ item.login_unix_socket | default(postgres_socket_directories[0]) }}"
port: "{{ item.port | default(omit) }}"
state: "{{ item.state | default('present') }}"
no_log: "{{ postgres_no_log }}"
loop: "{{ postgres_users + postgres_users_extra }}"
become: True
become_user: "{{ postgres_user }}"
- name: Ensure PostgreSQL is up and running
service:
name: "{{ __postgres_daemon }}"
state: started
enabled: yes
become: True
become_user: root