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