ansible-taler-exchange

Ansible playbook to deploy a production Taler Exchange
Log | Files | Refs | Submodules | README | LICENSE

commit 7678ed74b144b28b1a8fca44eb9794d7f2286256
parent cc3d596a440c3d2c54c38a05b2c79defc8b51085
Author: Devan Carpenter <devan@taler.net>
Date:   Mon,  7 Apr 2025 00:45:39 -0500

database: add scaffolding for db import

Diffstat:
Mroles/database/tasks/main.yml | 33++++++++++++++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/roles/database/tasks/main.yml b/roles/database/tasks/main.yml @@ -7,9 +7,40 @@ state: present update_cache: true notify: - - restart postgresql + - Restart postgresql when: ansible_os_family == 'Debian' +- name: If import triggered then verify database is not already existent + become: true + become_user: postgres + community.postgresql.postgresql_query: + login_user: postgres + db: postgres + query: + SELECT schema_name FROM information_schema.schemata WHERE schema_name = '_v'; + register: DATABASE_EXISTS + when: ansible_local.taler_backup_import is defined + +- name: Fail if trying to import and db exists + fail: msg="Import fact set but _v schema exists" + when: ansible_local.taler_backup_import is defined and DATABASE_EXISTS is defined + +- name: Make sure PostgreSQL is stopped before import + systemd: + name: postgresql + state: stopped + enabled: true + +- name: Import backup if import fact is set + become: true + become_user: postgres + community.postgresql.postgresql_db: + state: restore + target: /tmp/taler-postgres-backup.sql.xz + notify: + - Restart postgresql + when: ansible_local.taler_backup_import is defined + - name: Make sure PostgreSQL is started and enabled systemd: name: postgresql