silverlogic.postgresql
ANXS - PostgreSQL 
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!
Install and configure PostgreSQL, dependencies, extensions, databases and users.
ansible-galaxy install silverlogic.postgresql