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

52 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/{{ postgres_pg_version }}/bin/initdb -E UTF-8 /srv/postgresql/"
creates: /srv/postgresql/PG_VERSION
become: true
become_user: postgres
notify: Restart postgres
- name: Put hba configuration files
ansible.builtin.copy:
src: "files/pg_hba.conf"
dest: "/etc/postgresql/{{ postgres_pg_version }}/main/pg_hba.conf"
mode: "0640"
notify: Restart postgres
- name: Put main configuration files
ansible.builtin.template:
src: "postgresql.conf.j2"
dest: "/etc/postgresql/{{ postgres_pg_version }}/main/postgresql.conf"
mode: "0644"
- 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"