Select Git revision
formatter.ts
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
main.yml 4.06 KiB
---
- when: postgres_pgdg_repo
block:
- name: Install pgdg apt repo key
apt_key:
url: https://www.postgresql.org/media/keys/ACCC4CF8.asc
state: present
- name: Configure pgdg apt repo
apt_repository:
repo: >-
deb
https://apt.postgresql.org/pub/repos/apt
{{ ansible_distribution_release }}-pgdg
main
- name: ensure postgres packages are installed
apt:
name:
- postgresql{{
"-" + postgres_version|string if postgres_version is defined
}}
- python3-psycopg2
- libpq-dev
state: present
- when: not postgres_version is defined
block:
- name: Check installed software
package_facts:
manager: auto
- name: Set postgres_version
set_fact:
postgres_version: >-
{{ ansible_facts.packages.postgresql[0].version.split('+')[0] }}
- name: ensure legacy postgres packages are installed
apt:
name:
- python-psycopg2
state: present
when: ansible_distribution_major_version|int(default=99) < 11
- name: ensure postgres is started
service:
name: postgresql
state: started
enabled: true
- name: configure snapshots
when: postgres_rsnapshot
block:
- name: ensure we have our postgres backup script
copy:
src: >-
pgbackup{{
'-bullseye' if ansible_distribution_major_version|int(default=99) > 10
else '' }}.sh
dest: /usr/local/bin/pgbackup.sh
owner: root
group: root
mode: '0755'
- name: ensure we have our rsnapshot config
copy:
src: rsnapshot.conf
dest: /etc/rsnapshot.d/postgres.conf
owner: root
group: root