Repository URL to install this package:
|
Version:
6.0.0 ▾
|
---
# task file for postgresql
- name: "Set the correct delegated_dbhost (to support postgres db deployment on a remote dbhost)"
set_fact:
delegated_dbhost: "{{ zabbix_proxy_dbhost if (zabbix_proxy_dbhost != 'localhost') else inventory_hostname }}"
when:
- zabbix_proxy_dbhost_run_install
- name: "Set the correct delegated_dbhost (to support postgres db deployment on a remote dbhost)"
set_fact:
delegated_dbhost: "{{ inventory_hostname }}"
when:
- not zabbix_proxy_dbhost_run_install
- name: "PostgreSQL | Delegated"
block:
- name: "PostgreSQL | Delegated | Create database"
community.postgresql.postgresql_db:
name: "{{ zabbix_proxy_dbname }}"
port: "{{ zabbix_proxy_dbport }}"
state: present
- name: "PostgreSQL | Delegated | Create database user"
postgresql_user:
db: "{{ zabbix_proxy_dbname }}"
name: "{{ zabbix_proxy_dbuser }}"
password: "md5{{ (zabbix_proxy_dbpassword + zabbix_proxy_dbuser)|hash('md5') }}"
port: "{{ zabbix_proxy_dbport }}"
priv: ALL
state: present
encrypted: true
become: true
become_user: postgres
delegate_to: "{{ delegated_dbhost }}"
when:
- zabbix_database_creation
- zabbix_proxy_pgsql_login_host is not defined
tags:
- zabbix-server
- database
- name: "PostgreSQL | Remote"
block:
- name: "PostgreSQL | Remote | Create database"
community.postgresql.postgresql_db:
login_host: "{{ zabbix_proxy_pgsql_login_host | default(omit) }}"
login_user: "{{ zabbix_proxy_pgsql_login_user | default(omit) }}"
login_password: "{{ zabbix_proxy_pgsql_login_password | default(omit) }}"
login_unix_socket: "{{ zabbix_proxy_pgsql_login_unix_socket | default(omit) }}"
name: "{{ zabbix_proxy_dbname }}"
port: "{{ zabbix_proxy_dbport }}"
state: present
- name: "PostgreSQL | Remote | Create database user"
postgresql_user:
login_host: "{{ zabbix_proxy_pgsql_login_host | default(omit) }}"
login_user: "{{ zabbix_proxy_pgsql_login_user | default(omit) }}"
login_password: "{{ zabbix_proxy_pgsql_login_password | default(omit) }}"
db: "{{ zabbix_proxy_dbname }}"
name: "{{ zabbix_proxy_dbuser }}"
password: "md5{{ (zabbix_proxy_dbpassword + zabbix_proxy_dbuser)|hash('md5') }}"
port: "{{ zabbix_proxy_dbport }}"
priv: ALL
state: present
encrypted: true
when:
- zabbix_database_creation
- zabbix_proxy_pgsql_login_host is defined
tags:
- zabbix-server
- database
- name: "PostgreSQL | Importing schema file"
shell: |
set -euxo pipefail
FILE={{ 'schema.sql' if zabbix_version is version('6.0', '<') else 'proxy.sql' }}
cd {{ datafiles_path }}
if [ -f ${FILE}.gz ]
then zcat ${FILE}.gz > /tmp/schema.sql
else
cp ${FILE} /tmp/schema.sql
fi
cat /tmp/schema.sql | psql -h '{{ zabbix_proxy_dbhost }}' -U '{{ zabbix_proxy_dbuser }}' \
-d '{{ zabbix_proxy_dbname }}'
touch /etc/zabbix/schema.done
rm -f /tmp/schema.sql
args:
creates: /etc/zabbix/schema.done
executable: /bin/bash
environment:
PGPASSWORD: '{{ zabbix_proxy_dbpassword }}'
when:
- zabbix_database_creation