ansible-koji/roles/postgresql/tasks/reset_db.yaml

44 lines
1.1 KiB
YAML

---
- name: Stop Koji Hub and Kojira services before database reset
ansible.builtin.service:
name: "{{ item }}"
state: stopped
loop:
- httpd
- kojira
delegate_to: "{{ groups['kojihub'][0] }}"
- name: Terminate all active connections to Koji database
community.postgresql.postgresql_query:
query: "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = '{{ koji_db_name }}';"
login_db: postgres
become: true
become_user: postgres
- name: Drop Koji database
community.postgresql.postgresql_db:
name: "{{ koji_db_name }}"
state: absent
become: true
become_user: postgres
- name: Drop Koji database user
community.postgresql.postgresql_user:
name: "{{ koji_db_user }}"
state: absent
become: true
become_user: postgres
- name: Create Koji database user
community.postgresql.postgresql_user:
name: "{{ koji_db_user }}"
password: "{{ koji_db_password }}"
become: true
become_user: postgres
- name: Create Koji database
community.postgresql.postgresql_db:
name: "{{ koji_db_name }}"
owner: "{{ koji_db_user }}"
become: true
become_user: postgres