ansible-role-zabbix-server/roles/zabbix_server/tasks/init-pgsql.yml

46 lines
1.2 KiB
YAML

---
- 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