trainline-eu.ansible_postgresql_role

Rol de Ansible para PostgreSQL Estado de Construcción

Rol de Ansible que instala y configura clústeres, bases de datos y usuarios de PostgreSQL.

Ve la página del rol en Ansible Galaxy.

Instalación

Este rol ha sido probado en Ansible 2.5.0 y versiones superiores.

Para instalar:

ansible-galaxy install trainline-eu.ansible_postgresql_role

Dependencias

Sin dependencias

Dependencias recomendadas:

Matriz de compatibilidad

Esta tabla lista las versiones de OS/PostgreSQL probadas.

Distribución / PostgreSQL 9.4 9.5 9.6 10 11 12 13
Debian 9.x :no_entry: :white_check_mark: :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Debian 10.x :no_entry: :white_check_mark: :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
  • :white_check_mark: - probado, funciona correctamente
  • :grey_question: - funcionará en el futuro (ayuda si puedes)
  • :interrobang: - tal vez funcione, no probado
  • :no_entry: - PostgreSQL ha alcanzado el final de su vida útil

Variables

# Configuraciones básicas
postgres_listen_addresses: [ '127.0.0.1' ] # Opcional
postgres_log_dir: '/home/postgres-logs'    # Opcional
postgres_data_dir: '/home/postgres'        # Opcional
postgres_clusters:                         # Obligatorio
  - version: 11                              # Obligatorio
    name: 'main'                             # Obligatorio
    port: 5432                               # Obligatorio
    checksums: True                          # Opcional
    fsync_enabled: False                     # Opcional
    archive_enabled: False                   # Opcional
    wal_level: 'logical'                     # Opcional
    max_replication_slots: 10                # Opcional
    barman_directory: None                   # Opcional
    # Definir el clúster como un servidor de espera
    primary:                                 # Opcional
      host: '127.0.1.1'                        # Obligatorio
      port: 5433                               # Obligatorio
      replication_user:     'replicator'       # Obligatorio
      replication_password: 'SuperSecret'      # Obligatorio
      restore_command: None                    # Opcional
      restore_barman_directory: None           # Opcional
    # Lista de usuarios a crear (opcional)
    users:
      - username: 'replicator'                 # Obligatorio
        password: 'SuperSecret'                # Obligatorio
        permissions: 'REPLICATION'             # Obligatorio
    # Lista de bases de datos a crear (opcional)
    databases:
      - dbname: my_database                    # Obligatorio
        owner: john                            # Obligatorio
        extensions:                            # Opcional
          - names: [ 'postgis', 'postgis_topology' ]
            apt_deps: [ 'postgresql-11-postgis' ]
    extra_config:                            # Opcional
      max_connections: 100                     # Opcional
      shared_preload_libraries: ''             # Opcional
      max_worker_processes: 8                  # Opcional
      track_commit_timestamp: off              # Opcional
      max_standby_archive_delay: 30s           # Opcional
      max_standby_streaming_delay: 600s        # Opcional

# Configuración de Postgres (Opcional)
postgres_log_line_prefix: '%m [%p] base de datos: %d host: %h usuario: %u '
postgres_datestyle: 'iso, dmy'
postgres_locale_formats: fr_FR.UTF-8
postgres_text_search_config: pg_catalog.french

# Configuración pg_hba de Postgres (opcional)
postgres_allowed_hosts:
  - user: all
    range: 10.0.0.0/24
postgres_replication_hosts:
  - user: replicator
    range: 10.0.0.0/24

# Configuración relacionada con Ansible
postgres_become_method: su  # Opcional

# Conectividad Barman
postgres_barman_server: barman.example.com  # Requerido si al menos un servidor tiene archive_enabled habilitado
postgres_barman_rsync_enabled: False        # Opcional
postgres_barman_rsync_options: ''           # Opcional
postgres_barman_remote_user: barman         # Opcional
postgres_barman_path_prefix: '~'            # Opcional, requerido si se utiliza rsync

Pruebas

Este proyecto viene con un libro de pruebas test/main.yml. Utiliza Docker para provisionar contenedores localmente y configurar un clúster de postgresql de 3 nodos con un servidor barman.

La cobertura de este libro de pruebas probablemente no sea completa, pero al menos está disponible.

Si estás contribuyendo, prueba tus cambios primero en un nuevo libro de pruebas en el directorio test/ dentro de contenedores docker (usando la distribución objetivo) y, si es posible, asegúrate de que tu cambio esté cubierto en las pruebas.

Licencia

Licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

Agradecimientos

Creadores:

Mantenedores:

Comentarios, reportes de errores, solicitudes, ...

Son bienvenidos!

Acerca del proyecto

Install, configure and manage PostgreSQL clusters

Instalar
ansible-galaxy install trainline-eu.ansible_postgresql_role
Licencia
mit
Descargas
3.8k
Propietario