59 lines
1.4 KiB
YAML
59 lines
1.4 KiB
YAML
---
|
|
|
|
- name: Install python library
|
|
ansible.builtin.package:
|
|
name: python3-psycopg2
|
|
state: present
|
|
update_cache: true
|
|
|
|
- name: Install postgresql
|
|
ansible.builtin.package:
|
|
name: postgresql
|
|
state: present
|
|
update_cache: true
|
|
|
|
- name: Create pgsql directory
|
|
ansible.builtin.file:
|
|
path: /srv/postgresql
|
|
owner: postgres
|
|
group: postgres
|
|
state: directory
|
|
mode: "0o700"
|
|
|
|
- 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: "0o640"
|
|
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: "0o644"
|
|
|
|
- name: Create backup dir
|
|
ansible.builtin.file:
|
|
path: /srv/backup/pgsql
|
|
owner: postgres
|
|
group: postgres
|
|
state: directory
|
|
mode: "0o755"
|
|
|
|
- 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"
|