nephosolutions.postgresql

NephoSolutions - Ansible-Rolle PostgreSQL

Ansible-Rolle, die PostgreSQL, Erweiterungen, Datenbanken und Benutzer installiert und konfiguriert.

Fork von ANXS/postgresql

Installation

Dies wurde mit Ansible Version 2.4.0 und höher getestet.

Um zu installieren:

ansible-galaxy install ANXS.postgresql

Beispiel-Playbook

Hier ist ein Beispiel, wie man die Rolle verwendet:

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

Abhängigkeiten

  • ANXS.monit (Galaxy/GH), wenn Sie Monit-Schutz wollen. (In diesem Fall sollten Sie monit_protection: true setzen)

Kompatibilitätstabelle

Distribution / PostgreSQL <= 9.3 9.4 9.5 9.6 10 11 12
Ubuntu 14.04 :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
Ubuntu 16.04 :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
Debian 8.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
Debian 9.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
CentOS 6.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
CentOS 7.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
CentOS 8.x :no_entry: :grey_question: :grey_question: :grey_question: :grey_question: :grey_question: :grey_question:
Fedora aktuell :no_entry: :x: :x: :x: :x: :x: :x:
  • :white_check_mark: - getestet, funktioniert gut
  • :warning: - Nicht für den produktiven Einsatz
  • :grey_question: - wird in Zukunft funktionieren (helfen Sie, wenn Sie können)
  • :interrobang: - möglicherweise funktioniert, nicht getestet
  • :no_entry: - PostgreSQL hat das End-of-Life erreicht

Variablen

# Grundeinstellungen
postgresql_version: 11
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 # Soll der Dienst aktiviert sein? Standard ist true

postgresql_cluster_name: "main"
postgresql_cluster_reset: false

# Liste von Datenbanken, die erstellt werden sollen (optional)
# Hinweis: Für mehr Flexibilität mit Erweiterungen verwenden Sie die Einstellung postgresql_database_extensions.
postgresql_databases:
  - name: foobar
    owner: baz          # optional; der Besitzer der Datenbank
    hstore: yes         # Flag für die Installation der Hstore-Erweiterung in dieser Datenbank (ja/nein)
    uuid_ossp: yes      # Flag für die Installation der UUID-OSSP-Erweiterung in dieser Datenbank (ja/nein)
    citext: yes         # Flag für die Installation der Citext-Erweiterung in dieser Datenbank (ja/nein)
    encoding: "UTF-8"   # globale {{ postgresql_encoding }}-Variable pro Datenbank überschreiben
    lc_collate: "en_GB.UTF-8"   # globale {{ postgresql_locale }}-Variable pro Datenbank überschreiben
    lc_ctype: "en_GB.UTF-8"     # globale {{ postgresql_ctype }}-Variable pro Datenbank überschreiben

# Liste von Datenbankerweiterungen, die erstellt werden sollen (optional)
postgresql_database_extensions:
  - db: foobar
    extensions:
      - hstore
      - citext

# Liste von Benutzern, die erstellt werden sollen (optional)
postgresql_users:
  - name: baz
    pass: pass
    encrypted: yes  # ob das Passwort verschlüsselt werden soll, PostgreSQL >= 10 akzeptiert nur verschlüsselte Passwörter

# Liste von Schemata, die erstellt werden sollen (optional)
postgresql_database_schemas:
  - database: foobar           # Datenbankname
    schema: acme               # Schemata
    state: present

  - database: foobar           # Datenbankname
    schema: acme_baz           # Schemata
    owner: baz                 # Besitzername
    state: present

# Liste von Benutzerberechtigungen, die angewendet werden sollen (optional)
postgresql_user_privileges:
  - name: baz                   # Benutzername
    db: foobar                  # Datenbank
    priv: "ALL"                 # Berechtigungsformat: zum Beispiel: INSERT,UPDATE/tabelle:SELECT/andereTabelle:ALL
    role_attr_flags: "CREATEDB" # Rolleneigenschaftsflags

Es gibt viele weitere Einstellungen, die Sie in der defaults/main.yml finden können.

Testen

Dieses Projekt kommt mit einer Vagrantdatei, das ist eine schnelle und einfache Möglichkeit, Änderungen an der Rolle zu testen, starten Sie es mit vagrant up

Siehe Vagrant-Dokumentation für die Einrichtung mit Vagrant.

Sobald Ihre VM läuft, können Sie sie entweder mit vagrant provision oder ansible-playbook tests/playbook.yml -i vagrant-inventory erneut bereitstellen.

Wenn Sie mit dem Testspiel experimentieren möchten, sehen Sie sich tests/playbook.yml an und ändern Sie die Variablen in tests/vars.yml.

Wenn Sie beitragen möchten, testen Sie bitte zuerst Ihre Änderungen in der Vagrant-Umgebung (unter Verwendung der angestrebten Distribution), und wenn möglich, stellen Sie sicher, dass Ihre Änderungen in den in .travis.yml gefundenen Tests abgedeckt sind.

Lizenz

Lizenz unter der MIT-Lizenz. Siehe die LICENSE-Datei für Details.

Danke

Ersteller:

Betreuer:

Top-Mitwirkende:

Feedback, Fehlerberichte, Anfragen, ...

Sind willkommen!

Über das Projekt

"Install and configure PostgreSQL, dependencies, extensions, databases and users." "Forked from https://github.com/ANXS/postgresql"

Installieren
ansible-galaxy install nephosolutions.postgresql
GitHub Repository
Lizenz
mit
Downloads
1.4k
Besitzer
ICT Consultancy & Services – DevOps & Cloud Architects