silverlogic.postgresql

ANXS - PostgreSQL Status budowy


Pomoc potrzebna! Jeśli możesz i chcesz pomóc w utrzymaniu tej roli Ansible, otwórz zgłoszenie na GitHubie. Wiele osób korzysta z tej roli i (oczywiście) potrzebujemy wsparcia! 💖

Rola Ansible, która instaluje i konfiguruje PostgreSQL, rozszerzenia, bazy danych i użytkowników.

Instalacja

To zostało przetestowane na Ansible 2.4.0 i wyższych.

Aby zainstalować:

ansible-galaxy install ANXS.postgresql

Przykładowy plik playbook

Oto przykład, jak używać tej roli:

    - hosts: postgresql-server
      become: yes
      roles:
         - { role: anxs.postgresql }

Zależności

  • ANXS.monit (Galaxy/GH), jeśli chcesz mieć ochronę monit (w takim przypadku ustaw monit_protection: true)

Macierz kompatybilności

Dystrybucja / PostgreSQL <= 9.3 9.4 9.5 9.6 10 11 12
Ubuntu 14.04 :no_entry: :no_entry: :no_entry: :no_entry: :no_entry: :no_entry: :no_entry:
Ubuntu 16.04 :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Debian 8.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Debian 9.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
CentOS 6.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
CentOS 7.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
CentOS 8.x :no_entry: :grey_question: :grey_question: :grey_question: :grey_question: :grey_question: :grey_question:
Fedora latest :no_entry: :x: :x: :x: :x: :x: :x:
  • :white_check_mark: - testowane, działa dobrze
  • :warning: - Nie do użytku produkcyjnego
  • :grey_question: - może działać w przyszłości (pomóż, jeśli możesz)
  • :interrobang: - może działać, nie testowane
  • :no_entry: - osiągnęło koniec wsparcia (EOL)

Zmienne

# Ustawienia podstawowe
postgresql_version: 12
postgresql_encoding: "UTF-8"
postgresql_locale: "en_US.UTF-8"
postgresql_ctype: "en_US.UTF-8"

postgresql_admin_user: "postgres"
postgresql_default_auth_method: "peer"

postgresql_service_enabled: false # czy usługa powinna być włączona, domyślnie true

postgresql_cluster_name: "main"
postgresql_cluster_reset: false

# Lista baz danych do utworzenia (opcjonalnie)
# Uwaga: dla większej elastyczności z rozszerzeniami użyj ustawienia postgresql_database_extensions.
postgresql_databases:
  - name: foobar
    owner: baz          # opcjonalnie; określ właściciela bazy danych
    hstore: yes         # flaga do zainstalowania rozszerzenia hstore w tej bazie danych (tak/nie)
    uuid_ossp: yes      # flaga do zainstalowania rozszerzenia uuid-ossp w tej bazie danych (tak/nie)
    citext: yes         # flaga do zainstalowania rozszerzenia citext w tej bazie danych (tak/nie)
    encoding: "UTF-8"   # nadpisanie globalnej zmiennej {{ postgresql_encoding }} dla danej bazy danych
    lc_collate: "en_GB.UTF-8"   # nadpisanie globalnej zmiennej {{ postgresql_locale }} dla danej bazy danych
    lc_ctype: "en_GB.UTF-8"     # nadpisanie globalnej zmiennej {{ postgresql_ctype }} dla danej bazy danych

# Lista rozszerzeń baz danych do utworzenia (opcjonalnie)
postgresql_database_extensions:
  - db: foobar
    extensions:
      - hstore
      - citext

# Lista użytkowników do utworzenia (opcjonalnie)
postgresql_users:
  - name: baz
    pass: pass
    encrypted: yes  # jeśli hasło powinno być szyfrowane, postgresql >= 10 przyjmuje tylko zaszyfrowane hasła

# Lista schematów do utworzenia (opcjonalnie)
postgresql_database_schemas:
  - database: foobar           # nazwa bazy danych
    schema: acme               # nazwa schematu
    state: present

  - database: foobar           # nazwa bazy danych
    schema: acme_baz           # nazwa schematu
    owner: baz                 # nazwa właściciela
    state: present

# Lista uprawnień użytkowników do zastosowania (opcjonalnie)
postgresql_user_privileges:
  - name: baz                   # nazwa użytkownika
    db: foobar                  # baza danych
    priv: "ALL"                 # format łańcucha uprawnień: przykład: INSERT,UPDATE/ tabela: SELECT/ inna tabela: ALL
    role_attr_flags: "CREATEDB" # flagi atrybutów roli

Jest o wiele więcej ustawień, które można skonfigurować, a więcej informacji znajdziesz w defaults/main.yml.

Testowanie

Projekt ten zawiera plik Vagrantfile, co jest szybkim i łatwym sposobem na przetestowanie zmian w roli, uruchom go polecenie vagrant up.

Zobacz dokumentację vagrant aby dowiedzieć się jak skonfigurować Vagranta.

Gdy Twoja maszyna wirtualna będzie uruchomiona, możesz ją ponownie skonfigurować używając either vagrant provision, lub ansible-playbook tests/playbook.yml -i vagrant-inventory.

Jeśli chcesz poeksperymentować z plikiem testowym, zobacz tests/playbook.yml oraz zmień zmienne w tests/vars.yml.

Jeśli wnosisz swoją pomoc, najpierw przetestuj swoje zmiany w środowisku vagrant (używając docelowej dystrybucji) i, jeśli to możliwe, upewnij się, że Twoja zmiana jest zawarta w testach znajdujących się w .travis.yml.

Licencja

Licencjonowane na podstawie licencji MIT. Zobacz plik LICENSE po szczegóły.

Podziękowania

Twórca:

Utrzymujący:

Najwięksi współpracownicy:

Opinie, zgłaszanie błędów, żądania...

mile widziane!

O projekcie

Install and configure PostgreSQL, dependencies, extensions, databases and users.

Zainstaluj
ansible-galaxy install silverlogic.postgresql
Licencja
mit
Pobrania
7.2k
Właściciel