homelab/ansible/roles/postgres/tasks/main.yml

56 lines
1.2 KiB
YAML
Raw Normal View History

2024-09-28 22:20:47 +00:00
---
- name: Install postgresql
ansible.builtin.apt:
pkg:
- postgresql
- python3-psycopg2
update_cache: true
become: true
notify: Restart postgres
- name: Create databases
2024-09-28 22:20:47 +00:00
community.postgresql.postgresql_db:
name: "{{ item.database }}"
2024-09-28 22:20:47 +00:00
become: true
become_user: postgres
loop: "{{ postgres_users }}"
2024-09-28 22:20:47 +00:00
- name: Create postgres user
community.postgresql.postgresql_user:
db: "{{ item.database }}"
name: "{{ item.user }}"
password: "{{ item.password }}"
2024-09-28 22:20:47 +00:00
become: true
become_user: postgres
loop: "{{ postgres_users }}"
- name: Set database owners
community.postgresql.postgresql_db:
name: "{{ item.database }}"
owner: "{{ item.user }}"
become: true
become_user: postgres
loop: "{{ postgres_users }}"
2024-09-28 22:20:47 +00:00
- name: Copy authorization config
ansible.builtin.copy:
src: pg_hba.conf
dest: /etc/postgresql/16/main/pg_hba.conf
owner: postgres
group: postgres
mode: "0640"
become: true
notify: Restart postgres
- name: Copy connection config
ansible.builtin.copy:
src: postgresql.conf
dest: /etc/postgresql/16/main/postgresql.conf
owner: postgres
group: postgres
mode: "0640"
backup: true
become: true
notify: Restart postgres