--- - name: 'Preparar base de datos PostgreSQL' become: true become_user: postgres block: - name: 'Crear base de datos Zabbix' postgresql_db: name: 'zabbix' - name: 'Crear usuario Zabbix en la base de datos' postgresql_user: name: 'zabbix' password: '{{ zabbix_pgsql_pass }}' environment: PGOPTIONS: "-c password_encryption=scram-sha-256" - name: 'Configurar permisos de usuario de la base de datos' postgresql_privs: db: 'zabbix' privs: ALL type: schema objs: public role: 'zabbix' - name: 'Verificar o crear base de datos Zabbix' when: load_zabbix_database block: - name: 'Verificar si la base ya ha sido creada' postgresql_query: login_user: 'zabbix' login_password: '{{ zabbix_pgsql_pass }}' login_host: 'localhost' db: 'zabbix' query: 'SELECT mandatory FROM dbversion' rescue: - name: 'Restaurar base de datos Zabbix en PostgreSQL' postgresql_db: login_user: 'zabbix' login_password: '{{ zabbix_pgsql_pass }}' login_host: 'localhost' db: 'zabbix' state: restore target: /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz