skoneka.anxs-postgresql

ANXS - PostgreSQL Statut de Build


Aide requise ! Si vous êtes capable et désireux d'aider à maintenir ce rôle Ansible, veuillez ouvrir un issue sur GitHub. Beaucoup de gens semblent utiliser ce rôle et nous avons (évidemment) besoin d'assistance ! 💖


Rôle Ansible qui installe et configure PostgreSQL, ses extensions, bases de données et utilisateurs.

Installation

Ce rôle a été testé sur Ansible 2.4.0 et versions supérieures.

Pour installer :

ansible-galaxy install ANXS.postgresql

Dépendances

  • ANXS.monit (Galaxy/GH) si vous souhaitez une protection monit (dans ce cas, vous devez définir monit_protection: true)

Matrice de compatibilité

Distribution / PostgreSQL <= 9.2 9.3 9.4 9.5 9.6 10 11
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:
Fedora dernière version :no_entry: :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
  • :white_check_mark: - testé, fonctionne bien
  • :grey_question: - fonctionnera à l'avenir (aidez si vous le pouvez)
  • :interrobang: - pourrait fonctionner, non testé
  • :no_entry: - PostgreSQL a atteint la fin de sa vie

Variables

# Paramètres de base
postgresql_version: 9.6
postgresql_encoding: "UTF-8"
postgresql_locale: "en_US.UTF-8"
postgresql_ctype: "en_US.UTF-8"

postgresql_admin_user: "postgres"
postgresql_default_auth_method: "trust"

postgresql_service_enabled: false # le service doit-il être activé, par défaut vrai

postgresql_cluster_name: "main"
postgresql_cluster_reset: false

# Liste des bases de données à créer (optionnel)
# Remarque : pour plus de flexibilité avec les extensions, utilisez le paramètre postgresql_database_extensions.
postgresql_databases:
  - name: foobar
    owner: baz          # optionnel ; spécifiez le propriétaire de la base de données
    hstore: yes         # indication pour installer l'extension hstore sur cette base de données (yes/no)
    uuid_ossp: yes      # indication pour installer l'extension uuid-ossp sur cette base de données (yes/no)
    citext: yes         # indication pour installer l'extension citext sur cette base de données (yes/no)
    encoding: "UTF-8"   # remplace la variable globale {{ postgresql_encoding }} par base de données
    lc_collate: "en_GB.UTF-8"   # remplace la variable globale {{ postgresql_locale }} par base de données
    lc_ctype: "en_GB.UTF-8"     # remplace la variable globale {{ postgresql_ctype }} par base de données

# Liste des extensions de base de données à créer (optionnel)
postgresql_database_extensions:
  - db: foobar
    extensions:
      - hstore
      - citext

# Liste des utilisateurs à créer (optionnel)
postgresql_users:
  - name: baz
    pass: pass
    encrypted: no       # indique si le mot de passe est déjà crypté.

# Liste des schémas à créer (optionnel)
postgresql_schemas:
  - database: foobar           # nom de la base de données
    schema: acme               # nom du schéma
    state: present

  - database: foobar           # nom de la base de données
    schema: acme_baz           # nom du schéma
    owner: baz                 # nom du propriétaire
    state: present

# Liste des privilèges utilisateur à appliquer (optionnel)
postgresql_user_privileges:
  - name: baz                   # nom de l'utilisateur
    db: foobar                  # base de données
    priv: "ALL"                 # format de la chaîne de privilèges : exemple : INSERT,UPDATE/table:SELECT/anothertable:ALL
    role_attr_flags: "CREATEDB" # attributs de rôle

Il y a beaucoup d'autres paramètres à définir, que vous pouvez trouver dans le defaults/main.yml.

Tests

Ce projet comprend un Vagrantfile, c'est un moyen rapide et facile de tester des modifications du rôle, lancez-le avec vagrant up.

Consultez la documentation de vagrant pour la configuration avec Vagrant.

Une fois que votre VM est opérationnelle, vous pouvez la reprovisionner en utilisant soit vagrant provision, soit ansible-playbook tests/playbook.yml -i vagrant-inventory.

Si vous voulez expérimenter avec le play de test, consultez tests/playbook.yml et changez les variables dans tests/vars.yml.

Si vous contribuez, veuillez d'abord tester vos modifications dans l'environnement Vagrant (en utilisant la distribution ciblée), et si possible, assurez-vous que votre modification est couverte dans les tests trouvés dans .travis.yml.

Licence

Distribué sous la licence MIT. Voir le fichier LICENSE pour plus de détails.

Remerciements

Créateur :

Mainteneurs :

Contributeurs principaux :

Retours, rapports de bugs, demandes, ...

Sont bienvenus !

À propos du projet

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

Installer
ansible-galaxy install skoneka.anxs-postgresql
Licence
mit
Téléchargements
107.9k
Propriétaire