55 lines
1.2 KiB
YAML
55 lines
1.2 KiB
YAML
---
|
|
|
|
- name: Install postgresql
|
|
ansible.builtin.apt:
|
|
pkg:
|
|
- postgresql
|
|
- python3-psycopg2
|
|
update_cache: true
|
|
become: true
|
|
notify: Restart postgres
|
|
|
|
- name: Create databases
|
|
community.postgresql.postgresql_db:
|
|
name: "{{ item.database }}"
|
|
become: true
|
|
become_user: postgres
|
|
loop: "{{ postgres_users }}"
|
|
|
|
- name: Create postgres user
|
|
community.postgresql.postgresql_user:
|
|
db: "{{ item.database }}"
|
|
name: "{{ item.user }}"
|
|
password: "{{ item.password }}"
|
|
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 }}"
|
|
|
|
- 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
|