mahdi22.postgresql
Rola Ansible postgresql
Rola Ansible służąca do instalacji Postgresql na systemach Linux: RHEL/CentOS, Debian, Ubuntu i SUSE SLES. Do zadań tej roli należą:
- Instalacja Postgresql
- Konfiguracja parametrów i uwierzytelnienia Postgresql
- Tworzenie użytkowników
- Tworzenie baz danych
Instalacja
$ ansible-galaxy install mahdi22.postgresql
Zmienne roli
plik variable/main.yml Ustaw parametry konfiguracyjne Postgresql lub użyj wartości domyślnych
postgresql_config:
- option: port
value: 5432
- option: log_destination
value: syslog
- option: log_directory
value: /var/log/postgresql/
Ustaw lub zmodyfikuj parametry uwierzytelnienia Postgresql lub użyj wartości domyślnych
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}
Ustaw bazy danych i użytkowników do utworzenia, jeśli nie ustawiono create_users: no
i create_databases: no
w pliku default/main.yml
Przykład tworzenia wielu baz danych i użytkowników:
postgresql_databases_users: []
#postgresql_databases_users:
# - {database: test, user: user1, userpassword: user1pass, priv: ALL} #dodaje bazę 'test' i użytkownika 'user1' z hasłem 'user1pass' oraz uprawnieniami 'ALL'
# - {database: test1, user:'', userpassword: '', priv: ''} #dodaje tylko bazę 'test1'
# - {database: '', user: user2, userpassword: user2pass, priv: ''} #dodaje tylko użytkownika 'user2' z hasłem 'user2pass'
- Aby utworzyć tylko bazę danych bez użytkownika, ustaw:
database: databasename, user:''
- Aby utworzyć tylko użytkownika, ustaw:
database: '', user: username, userpassword: password
- Aby utworzyć bazę z uprawnieniami użytkownika, ustaw:
database: databasename, user: username, userpassword: password, priv: privileges
Podstawowa konfiguracja
Zmienna | Domyślna | Uwagi |
---|---|---|
use_proxy |
'False' | Jeśli zarządzane hosty są za proxy, ustaw use_proxy: True |
http_proxy |
'http://proxy.lab.local:8080/' | Ustaw serwer proxy i port, zamień proxy.lab.local:8080 |
https_proxy |
'http://proxy.lab.local:8080/' | Ustaw serwer proxy i port, zamień proxy.lab.local:8080 |
postgresql_version |
Wersja Postgresql, która ma być zainstalowana | |
listen_addresses_host_ip |
tak | czy nasłuchiwać na interfejsie IP sieciowym |
create_users |
tak | utwórz użytkowników Postgresql skonfigurowanych w plikach zmiennych |
create_databases |
tak | utwórz bazy danych Postgresql skonfigurowane w plikach zmiennych |
Uwaga
(1) Jeśli zarządzane hosty są za proxy, ustaw następujące zmienne w pliku defaults/main.yml:
use_proxy: False
proxy_env:
http_proxy: http://proxy.local:8080/
https_proxy: http://proxy.local:8080/
Przykładowy playbook
- hosts: dbservers
roles:
- role: mahdi22.postgresql
become: yes
Testowanie
Ta rola została przetestowana na następujących dystrybucjach Linuxa:
- RHEL/CentOS 8 wersja postgresql (9.5, 9.4, 10, 11, 12, 13)
- RHEL/CentOS 7 wersja postgresql (9.5, 9.4, 10, 11, 12, 13)
- Debian 10 wersja postgresql (9.5, 9.4, 10, 11, 12, 13)
- Debian 9 wersja postgresql (9.5, 9.4, 10, 11, 12, 13)
- Ubuntu 20.04 wersja postgresql (9.5, 9.4, 10, 11, 12, 13)
- Ubuntu 18.04 wersja postgresql (9.5, 9.4, 10, 11, 12, 13)
- Ubuntu 16.04 wersja postgresql (9.5, 9.4, 10, 11, 12, 13)
- Suse SLES 12 wersja postgresql (9.5, 9.4, 10, 11, 12)
- Suse SLES 15 wersja postgresql (11, 12, 13)
O projekcie
Install and configure Postgresql server on Rhel/CentOS, Debian, Ubuntu and SUSE SLES ditributions
Zainstaluj
ansible-galaxy install mahdi22.postgresql
Licencja
Unknown
Pobrania
95
Właściciel