mahdi22.postgresql

Ansible роль postgresql

Rоль Ansible для установки Postgres на Linux для дистрибутивов RHEL/CentOS, Debian, Ubuntu и SUSE SLES. Конкретно, обязанности этой роли состоят в том, чтобы:

  • Установить Postgresql
  • Настроить параметры и аутентификацию Postgresql
  • Создать пользователей
  • Создать базы данных

Установка

$ ansible-galaxy install mahdi22.postgresql

Переменные роли

файл variable/main.yml Установите параметры конфигурации postgresql или используйте значения по умолчанию

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

Установите или измените параметры аутентификации postgresql или используйте значения по умолчанию

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}

Установите базы данных и пользователей postgresql, которые нужно создать, если не установлены create_users: no и create_databases: no в default/main.yml

Пример создания нескольких баз данных и пользователей:

postgresql_databases_users: []
#postgresql_databases_users:
#  - {database: test, user: user1, userpassword: user1pass, priv: ALL}  #добавить базу данных 'user' и пользователя 'user1' с паролем 'user1pass' и привилегиями 'ALL'
#  - {database: test1, user:'', userpassword: '', priv: ''}                  #добавить только базу данных 'test1'
#  - {database: '', user: user2, userpassword: user2pass, priv: ''}          #добавить только пользователя 'user2' с паролем 'user2pass'
  • Чтобы создать только базу данных без пользователя, установите database: databasename, user:''
  • Чтобы создать только пользователя, установите database: '', user: username, userpassword: password
  • Чтобы создать базу данных с привилегиями пользователя, установите database: databasename, user: username, userpassword: password, priv: privileges

Основная конфигурация

Переменная Значение по умолчанию Комментарии
use_proxy 'False' Если управляемые хосты находятся за веб-прокси, установите use_proxy: True
http_proxy 'http://proxy.lab.local:8080/' Установите прокси-сервер и порт, замените proxy.lab.local:8080
https_proxy 'http://proxy.lab.local:8080/' Установите прокси-сервер и порт, замените proxy.lab.local:8080
postgresql_version Версия Postgresql, которая будет установлена
listen_addresses_host_ip yes yes для активации прослушивания postgresql на сетевом IP интерфейсе
create_users yes создать пользователей postgresql, настроенных в файлах переменных
create_databases yes создать базы данных postgresql, настроенные в файлах переменных

Примечания

(1) Если управляемые хосты находятся за веб-прокси, установите следующие переменные в файле defaults/main.yml:

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

Пример плейбука

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

Тестирование

Эта роль протестирована на следующих дистрибутивах Linux:

  • RHEL/CentOS 8 версия postgresql (9.5, 9.4, 10, 11, 12, 13)
  • RHEL/CentOS 7 версия postgresql (9.5, 9.4, 10, 11, 12, 13)
  • Debian 10 версия postgresql (9.5, 9.4, 10, 11, 12, 13)
  • Debian 9 версия postgresql (9.5, 9.4, 10, 11, 12, 13)
  • Ubuntu 20.04 версия postgresql (9.5, 9.4, 10, 11, 12, 13)
  • Ubuntu 18.04 версия postgresql (9.5, 9.4, 10, 11, 12, 13)
  • Ubuntu 16.04 версия postgresql (9.5, 9.4, 10, 11, 12, 13)
  • Suse SLES 12 версия postgresql (9.5, 9.4, 10, 11, 12)
  • Suse SLES 15 версия postgresql (11, 12, 13)
О проекте

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

Установить
ansible-galaxy install mahdi22.postgresql
Лицензия
Unknown
Загрузки
95
Владелец