Files
Ansible/roles/postgresql/tasks/postgresql.yml
2022-10-24 13:14:36 +00:00

50 lines
1.5 KiB
YAML

---
- name: Add PostgreSQL GPG apt key
apt_key:
url: https://www.postgresql.org/media/keys/ACCC4CF8.asc
keyring: /usr/share/keyrings/apt.postgresql.org.gpg
state: present
- name: Add PostgreSQL Repository
apt_repository:
repo: "deb [arch={{ deb_architecture }} signed-by=/usr/share/keyrings/apt.postgresql.org.gpg] \
http://apt.postgresql.org/pub/repos/apt {{ ansible_distribution_release }}-pgdg main"
state: present
update_cache: true
- name: Install PostgreSQL
apt:
name: "postgresql-{{ pgsql_server_version }}"
state: latest
update_cache: true
cache_valid_time: 3600
- name: Install required system packages
apt:
name: python3-psycopg2 # needed for postgresql ansible module
state: latest
update_cache: true
cache_valid_time: 3600
- name: Set PostgreSQL parameters
community.postgresql.postgresql_set:
name: "{{ item.name }}"
value: "{{ item.value }}"
become_user: postgres
register: postgresql_set
loop: "{{ pgsql_config }}"
notify: restart postgresql
- name: Set PostgreSQL Client Authentication
community.postgresql.postgresql_pg_hba:
dest: "/etc/postgresql/{{ pgsql_server_version }}/main/pg_hba.conf"
overwrite: false # remove preexisting rules
backup: true
backup_file: "/etc/postgresql/{{ pgsql_server_version }}/main/pg_hba.conf.backup"
# custom defaults
rules_behavior: combine
contype: host
# custom rules
rules: "{{ pgsql_client_auth }}"
notify: reload postgresql