mahdi22.postgresql

Rol de Ansible postgresql

Un rol de Ansible para instalar PostgreSQL en Linux para distribuciones RHEL/CentOS, Debian, Ubuntu y SUSE SLES. Específicamente, las responsabilidades de este rol son:

  • Instalar PostgreSQL
  • Configurar parámetros y autenticaciones de PostgreSQL
  • Crear usuarios
  • Crear bases de datos

Instalación

$ ansible-galaxy install mahdi22.postgresql

Variables del Rol

variable/main.yml Establecer parámetros de configuración de PostgreSQL o usar valores predeterminados

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

Establecer o modificar parámetros de autenticación de PostgreSQL o usar valores predeterminados

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}

Establecer bases de datos y usuarios de PostgreSQL para crear. Si no se establece create_users: no y create_databases: no en default/main.yml.

Ejemplo de creación de múltiples bases de datos y usuarios:

postgresql_databases_users: []
#postgresql_databases_users:
#  - {database: test, user: user1, userpassword: user1pass, priv: ALL}  #agregar base de datos 'test' y usuario 'user1' con contraseña 'user1pass' con privilegios 'ALL'
#  - {database: test1, user:'', userpassword: '', priv: ''}             #agregar solo la base de datos 'test1'
#  - {database: '', user: user2, userpassword: user2pass, priv: ''}    #agregar solo el usuario 'user2' con contraseña 'user2pass'
  • Para crear solo la base de datos sin usuario establecer database: databasename, user:''
  • Para crear solo el usuario establecer database: '', user: username, userpassword: password
  • Para crear una base de datos con privilegios de usuario establecer database: databasename, user: username, userpassword: password, priv: privileges

Configuración básica

Variable Predeterminado Comentarios
use_proxy 'False' Si los hosts gestionados están detrás de un proxy web, establecer use_proxy: True
http_proxy 'http://proxy.lab.local:8080/' Establecer servidor y puerto del proxy, reemplazar proxy.lab.local:8080
https_proxy 'http://proxy.lab.local:8080/' Establecer servidor y puerto del proxy, reemplazar proxy.lab.local:8080
postgresql_version Versión de PostgreSQL que se instalará
listen_addresses_host_ip yes sí para activar la escucha de PostgreSQL en la interfaz de red IP
create_users yes crear usuarios de PostgreSQL configurados en los archivos de variables
create_databases yes crear bases de datos de PostgreSQL configuradas en los archivos de variables

Comentarios

(1) Si los hosts gestionados están detrás de un proxy web, establecer las siguientes variables en el archivo defaults/main.yml:

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

Ejemplo de Playbook

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

Pruebas

Este rol se ha probado en estas distribuciones de Linux:

  • RHEL/CentOS 8 versión de PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • RHEL/CentOS 7 versión de PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Debian 10 versión de PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Debian 9 versión de PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Ubuntu 20.04 versión de PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Ubuntu 18.04 versión de PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Ubuntu 16.04 versión de PostgreSQL (9.5, 9.4, 10, 11, 12, 13)
  • Suse SLES 12 versión de PostgreSQL (9.5, 9.4, 10, 11, 12)
  • Suse SLES 15 versión de PostgreSQL (11, 12, 13)
Acerca del proyecto

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

Instalar
ansible-galaxy install mahdi22.postgresql
Licencia
Unknown
Descargas
95
Propietario