Files
ansible/postgres.yml
T
Bart Sjerps 6eddb7e2c5 update
2026-07-17 09:40:12 +02:00

67 lines
1.6 KiB
YAML

---
- name: Postgres Servers
hosts: postgres
pre_tasks:
- name: Postgres Repo
ansible.builtin.dnf:
name: 'https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm'
state: present
disable_gpg_check: true
- name: Postgres RPMs
ansible.builtin.dnf:
name:
- postgresql18-server
- postgresql18-contrib
state: latest
tasks:
- name: Create Database Logical Volume
community.general.lvol:
vg: data
lv: pgdata
size: 32G
- name: Create Database Filesystem
community.general.filesystem:
fstype: xfs
dev: /dev/data/pgdata
- name: Mount filesystems
ansible.posix.mount:
path: '/var/lib/pgsql'
src: '/dev/data/pgdata'
opts: 'noatime'
state: mounted
fstype: "xfs"
- name: Open Firewall port
firewalld:
# service: docker-registry
service: postgresql
permanent: true
state: enabled
immediate: yes
when: ansible_facts['os_family'] == "RedHat"
- name: PG Backup directory
file:
path: '/var/backups/postgres'
state: directory
mode: '0775'
owner: postgres
group: postgres
- name: Backup script
copy:
src: 'bin/pg-backup'
dest: '/usr/local/bin/pg-backup'
mode: '0755'
- name: Setup Postgres backup cron job
ansible.builtin.cron:
name: "pg-backup"
minute: 30
hour: 23
job: /usr/local/bin/pg-backup