ansible-role-postgresql/tasks/main.yml
2021-09-05 17:17:30 +02:00

45 lines
959 B
YAML

- name: install postgres
apt:
pkg:
- postgresql
- python3-psycopg2
- name: generate pg_hba
template:
src: pg_hba.conf.j2
dest: "/etc/postgresql/{{ pg_version }}/main/pg_hba.conf"
owner: postgres
group: postgres
mode: 0640
notify:
- restart postgres
- name: add postgresql dbs
postgresql_db:
name: "{{ item.key }}"
become_user: postgres
become: true
with_dict: "{{ postgresql.dbs }}"
- name: add postgresql user(s)
postgresql_user:
name: "{{ item.key }}"
password: "{{ item.value }}"
become_user: postgres
become: true
with_dict: "{{ postgresql.users }}"
- name: add vacuum cronjob
cron:
name: db maintenance
job: "/usr/bin/vacuumdb --all --analyze > /dev/null"
user: postgres
hour: 23
minute: 26
- include_tasks: backup.yml
when:
- postgresql.backup.enable
- name: flush handlers so postgres is ready before other roles try to use it
meta: flush_handlers