silverlogic.postgresql

ANXS - PostgreSQL Build Status


Hilfe benötigt! Wenn Sie in der Lage und bereit sind, bei der Wartung dieser Ansible-Rolle zu helfen, eröffnen Sie bitte ein GitHub-Problem. Viele Leute scheinen diese Rolle zu verwenden, und wir brauchen (offensichtlich) Unterstützung! 💖


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

Installation

Dies wurde mit Ansible 2.4.0 und höheren Versionen getestet.

So installieren Sie:

ansible-galaxy install ANXS.postgresql

Beispiel-Playbook

Hier ist ein Beispiel, wie Sie Ihre Rolle verwenden können:

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

Abhängigkeiten

  • ANXS.monit (Galaxy/GH), wenn Sie Monit-Schutz wünschen (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: :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 aktuell :no_entry: :x: :x: :x: :x: :x: :x:
  • :white_check_mark: - getestet, funktioniert gut
  • :warning: - Nicht für den Produktionsgebrauch
  • :grey_question: - wird in Zukunft funktionieren (helfen Sie, wenn Sie können)
  • :interrobang: - funktioniert vielleicht, nicht getestet
  • :no_entry: - hat das Ende der Unterstützung (EOL) erreicht

Variablen

# Grundlegende Einstellungen
postgresql_version: 12
postgresql_encoding: "UTF-8"
postgresql_locale: "de_DE.UTF-8"
postgresql_ctype: "de_DE.UTF-8"

postgresql_admin_user: "postgres"
postgresql_default_auth_method: "peer"

postgresql_service_enabled: false # Soll der Dienst aktiviert werden, Standard ist true

postgresql_cluster_name: "main"
postgresql_cluster_reset: false

# Liste der zu erstellenden Datenbanken (optional)
# Hinweis: Für mehr Flexibilität bei den Erweiterungen verwenden Sie die Einstellung postgresql_database_extensions.
postgresql_databases:
  - name: foobar
    owner: baz          # optional; Besitzer der Datenbank angeben
    hstore: yes         # Flag, um die hstore-Erweiterung für diese Datenbank zu installieren (ja/nein)
    uuid_ossp: yes      # Flag, um die uuid-ossp-Erweiterung für diese Datenbank zu installieren (ja/nein)
    citext: yes         # Flag, um die citext-Erweiterung für diese Datenbank zu installieren (ja/nein)
    encoding: "UTF-8"   # globale {{ postgresql_encoding }}-Variable pro Datenbank überschreiben
    lc_collate: "de_DE.UTF-8"   # globale {{ postgresql_locale }}-Variable pro Datenbank überschreiben
    lc_ctype: "de_DE.UTF-8"     # globale {{ postgresql_ctype }}-Variable pro Datenbank überschreiben

# Liste der zu erstellenden Datenbankerweiterungen (optional)
postgresql_database_extensions:
  - db: foobar
    extensions:
      - hstore
      - citext

# Liste der zu erstellenden Benutzer (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 der zu erstellenden Schemata (optional)
postgresql_database_schemas:
  - database: foobar           # Name der Datenbank
    schema: acme               # Name des Schemas
    state: present

  - database: foobar           # Name der Datenbank
    schema: acme_baz           # Name des Schemas
    owner: baz                 # Name des Besitzers
    state: present

# Liste der anzuwendenden Benutzerprivilegien (optional)
postgresql_user_privileges:
  - name: baz                   # Benutzername
    db: foobar                  # Datenbank
    priv: "ALL"                 # Format des Berechtigungsstrings: Beispiel: INSERT,UPDATE/tabelle:SELECT/eine andere tabelle:ALL
    role_attr_flags: "CREATEDB" # Rollenattribute-Flags

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

Testen

Dieses Projekt enthält eine Vagrant-Datei, 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 von Vagrant

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

Wenn Sie mit dem Test-Play herumspielen möchten, sehen Sie sich tests/playbook.yml an und ändern Sie die Variablen in tests/vars.yml.

Wenn Sie beitragenden, testen Sie bitte zuerst Ihre Änderungen in der Vagrant-Umgebung (unter Verwendung der gezielten Distribution) und stellen Sie, wenn möglich, sicher, dass Ihre Änderung in den Tests, die Sie in .travis.yml finden, abgedeckt ist.

Lizenz

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

Dank

Ersteller:

Betreuer:

Top-Beitragszahler:

Feedback, Fehlerberichte, Anfragen, ...

Sind willkommen!

Über das Projekt

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

Installieren
ansible-galaxy install silverlogic.postgresql
GitHub Repository
Lizenz
mit
Downloads
7.2k
Besitzer