Files
ansible/roles/postgres/tasks/main.yml
2024-07-05 11:53:35 +02:00

49 lines
1.2 KiB
YAML

---
- name: Install postgresql
ansible.builtin.package:
name: postgresql
state: present
- name: Create pgsql directory
ansible.builtin.file:
path: /srv/postgresql
owner: postgres
group: postgres
state: directory
mode: 0700
- name: Populate postgresql directory
ansible.builtin.command:
cmd: "/usr/lib/postgresql/{{ pg_version }}/bin/initdb -E UTF-8 /srv/postgresql/"
creates: /srv/postgresql/PG_VERSION
become: true
become_user: postgres
notify: Restart postgres
- name: Put main configuration files
ansible.builtin.copy:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
mode: "{{ item.mode }}"
loop:
- {src: "files/postgresql.conf", dest: "/etc/postgresql/{{ pg_version }}/main/postgresql.conf", mode: "0644"}
- {src: "files/pg_hba.conf", dest: "/etc/postgresql/{{ pg_version }}/main/pg_hba.conf", mode: "0640"}
notify: Restart postgres
- name: Create backup dir
ansible.builtin.file:
path: /srv/backup/pgsql
owner: postgres
group: postgres
state: directory
mode: 0755
- name: Cron backup script
ansible.builtin.cron:
user: postgres
minute: "0"
hour: "4"
name: PG Backup
job: "/usr/bin/pg_dumpall | gzip -c > /srv/backup/pgsql/all.dbs.gz"