mahdi22.postgresql
Ansible-Rolle postgresql
Eine Ansible-Rolle zur Installation von PostgreSQL auf Linux für RHEL/CentOS, Debian, Ubuntu und SUSE SLES Distributionen. Die Aufgaben dieser Rolle sind:
- PostgreSQL installieren
- PostgreSQL-Parameter und Authentifizierung konfigurieren
- Benutzer erstellen
- Datenbanken erstellen
Installation
$ ansible-galaxy install mahdi22.postgresql
Rollvariablen
variable/main.yml Setzen Sie die PostgreSQL-Konfigurationsparameter oder verwenden Sie Standardwerte
postgresql_config:
- option: port
value: 5432
- option: log_destination
value: syslog
- option: log_directory
value: /var/log/postgresql/
Setzen oder ändern Sie die PostgreSQL-Authentifizierungsparameter oder verwenden Sie Standardwerte
postgresql_authentication:
- {type: local, database: all, user: postgres, auth_method: peer}
- {type: local, database: all, user: all, auth_method: md5}
- {type: host, database: all, user: all, address: '127.0.0.1/32', auth_method: md5}
- {type: host, database: all, user: all, address: '::1/128', auth_method: md5}
- {type: local, database: replication, user: all, auth_method: peer}
- {type: host, database: replication, user: all, address: '127.0.0.1/32', auth_method: md5}
- {type: host, database: replication, user: all, address: '::1/128', auth_method: md5}
Setzen Sie PostgreSQL-Datenbanken und Benutzer, die erstellt werden sollen, wenn in default/main.yml create_users: no und create_databases: no festgelegt ist.
Beispiel zum Erstellen mehrerer Datenbanken und Benutzer:
postgresql_databases_users: []
#postgresql_databases_users:
# - {database: test, user: user1, userpassword: user1pass, priv: ALL} #fügt die Datenbank 'test' und den Benutzer 'user1' mit Passwort 'user1pass' und Rechten 'ALL' hinzu
# - {database: test1, user:'', userpassword: '', priv: ''} #fügt nur die Datenbank 'test1' hinzu
# - {database: '', user: user2, userpassword: user2pass, priv: ''} #fügt nur den Benutzer 'user2' mit Passwort 'user2pass' hinzu
- Um nur eine Datenbank ohne Benutzer zu erstellen, setzen Sie database: databasename, user:''
- Um nur einen Benutzer zu erstellen, setzen Sie database: '', user: benutzername, userpassword: passwort
- Um eine Datenbank mit Benutzerrechten zu erstellen, setzen Sie database: databasename, user: benutzername, userpassword: passwort, priv: rechte
Grundkonfiguration
Variable | Standard | Anmerkungen |
---|---|---|
use_proxy |
'False' | Wenn gemanagte Hosts hinter einem Webproxy stehen, setzen Sie use_proxy: True |
http_proxy |
'http://proxy.lab.local:8080/' | Setzen Sie Proxy-Server und Port, ersetzen Sie proxy.lab.local:8080 |
https_proxy |
'http://proxy.lab.local:8080/' | Setzen Sie Proxy-Server und Port, ersetzen Sie proxy.lab.local:8080 |
postgresql_version |
Die zu installierende PostgreSQL-Version | |
listen_addresses_host_ip |
ja | ja, um PostgreSQL auf der Netzwerk-IP-Schnittstelle aktiv zu hören |
create_users |
ja | Erstellen Sie PostgreSQL-Benutzer, die in den Variablen konfiguriert sind |
create_databases |
ja | Erstellen Sie PostgreSQL-Datenbanken, die in den Variablen konfiguriert sind |
Anmerkungen
(1) Wenn gemanagte Hosts hinter einem Webproxy stehen, setzen Sie die folgenden Variablen in der Datei defaults/main.yml:
use_proxy: False
proxy_env:
http_proxy: http://proxy.local:8080/
https_proxy: http://proxy.local:8080/
Beispiel-Playbook
- hosts: dbservers
roles:
- role: mahdi22.postgresql
become: yes
Testen
Diese Rolle wird auf folgenden Linux-Distributionen getestet:
- RHEL/CentOS 8 PostgreSQL-Version (9.5, 9.4, 10, 11, 12, 13)
- RHEL/CentOS 7 PostgreSQL-Version (9.5, 9.4, 10, 11, 12, 13)
- Debian 10 PostgreSQL-Version (9.5, 9.4, 10, 11, 12, 13)
- Debian 9 PostgreSQL-Version (9.5, 9.4, 10, 11, 12, 13)
- Ubuntu 20.04 PostgreSQL-Version (9.5, 9.4, 10, 11, 12, 13)
- Ubuntu 18.04 PostgreSQL-Version (9.5, 9.4, 10, 11, 12, 13)
- Ubuntu 16.04 PostgreSQL-Version (9.5, 9.4, 10, 11, 12, 13)
- SUSE SLES 12 PostgreSQL-Version (9.5, 9.4, 10, 11, 12)
- SUSE SLES 15 PostgreSQL-Version (11, 12, 13)
Install and configure Postgresql server on Rhel/CentOS, Debian, Ubuntu and SUSE SLES ditributions
ansible-galaxy install mahdi22.postgresql