mahdi22.postgresql

Rôle Ansible postgresql

Un rôle Ansible pour installer PostgreSQL sur Linux pour les distributions RHEL/CentOS, Debian, Ubuntu et SUSE SLES. Plus précisément, les responsabilités de ce rôle sont de :

  • Installer PostgreSQL
  • Configurer les paramètres et l'authentification de PostgreSQL
  • Créer des utilisateurs
  • Créer des bases de données

Installation

$ ansible-galaxy install mahdi22.postgresql

Variables du Rôle

variable/main.yml Définir les paramètres de configuration de PostgreSQL ou utiliser des valeurs par défaut

postgresql_config:
  - option: port
    value: 5432
  - option: log_destination
    value: syslog
  - option: log_directory
    value: /var/log/postgresql/

Définir ou modifier les paramètres d'authentification de PostgreSQL ou utiliser des valeurs par défaut

postgresql_authentication:
  - {type: local, database: all, user: postgres, auth_method: peer}
  - {type: local, database: all, user: all, auth_method: md5}
  - {type: host, database: all, user: all, address: '127.0.0.1/32', auth_method: md5}
  - {type: host, database: all, user: all, address: '::1/128', auth_method: md5}
  - {type: local, database: replication, user: all, auth_method: peer}
  - {type: host, database: replication, user: all, address: '127.0.0.1/32', auth_method: md5}
  - {type: host, database: replication, user: all, address: '::1/128', auth_method: md5}

Définir les bases de données et les utilisateurs PostgreSQL à créer. Si vous ne souhaitez pas créer d'utilisateurs, définissez create_users: no et create_databases: no dans default/main.yml.

Exemple de création de plusieurs bases de données et utilisateurs :

postgresql_databases_users: []
#postgresql_databases_users:
#  - {database: test, user: user1, userpassword: user1pass, priv: ALL}  #ajoute la base de données 'test' et l'utilisateur 'user1' avec le mot de passe 'user1pass' avec tous les privilèges
#  - {database: test1, user:'', userpassword: '', priv: ''}              #ajoute seulement la base de données 'test1'
#  - {database: '', user: user2, userpassword: user2pass, priv: ''}     #ajoute seulement l'utilisateur 'user2' avec le mot de passe 'user2pass'
  • Pour créer seulement une base de données sans utilisateur, définissez database: nomdelabase, user:''
  • Pour créer seulement un utilisateur, définissez database: '', user: nom_utilisateur, userpassword: motdepasse
  • Pour créer une base de données avec des PRIVILÈGES d'utilisateur, définissez database: nomdelabase, user: nom_utilisateur, userpassword: motdepasse, priv: privilèges

Configuration de base

Variable Par défaut Commentaires
use_proxy 'False' Si les hôtes gérés sont derrière un proxy web, définissez use_proxy: True
http_proxy 'http://proxy.lab.local:8080/' Définissez le serveur proxy et le port, remplacez proxy.lab.local:8080
https_proxy 'http://proxy.lab.local:8080/' Définissez le serveur proxy et le port, remplacez proxy.lab.local:8080
postgresql_version Version de PostgreSQL qui sera installée
listen_addresses_host_ip oui oui pour activer l'écoute de PostgreSQL sur l'interface IP réseau
create_users oui créer les utilisateurs PostgreSQL configurés dans les fichiers variables
create_databases oui créer les bases de données PostgreSQL configurées dans les fichiers variables

Remarques

(1) Si les hôtes gérés sont derrière un proxy web, définissez les variables suivantes dans le fichier defaults/main.yml :

use_proxy: False
proxy_env:
  http_proxy: http://proxy.local:8080/
  https_proxy: http://proxy.local:8080/

Exemple de Playbook

- hosts: dbservers
  roles:
    - role: mahdi22.postgresql
      become: yes

Tests

Ce rôle a été testé sur les distributions Linux suivantes :

  • RHEL/CentOS 8 version PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • RHEL/CentOS 7 version PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Debian 10 version PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Debian 9 version PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Ubuntu 20.04 version PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Ubuntu 18.04 version PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Ubuntu 16.04 version PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Suse SLES 12 version PostgreSQL (9.5, 9.4, 10, 11, 12)
  • Suse SLES 15 version PostgreSQL (11, 12, 13)
À propos du projet

Install and configure Postgresql server on Rhel/CentOS, Debian, Ubuntu and SUSE SLES ditributions

Installer
ansible-galaxy install mahdi22.postgresql
Licence
Unknown
Téléchargements
95
Propriétaire