46 lines
981 B
YAML
46 lines
981 B
YAML
- name: install postgres
|
|
apt:
|
|
pkg:
|
|
- postgresql
|
|
- python-psycopg2
|
|
- 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
|