anxs-postgresql

ANXS - PostgreSQL Статус сборки


Нужна помощь! Если вы можете и хотите помочь в поддержке этой роли Ansible, пожалуйста, откройте вопрос на GitHub. Похоже, много людей используют эту роль, и нам (очевидно) нужна помощь! 💖


Роль Ansible, которая устанавливает и настраивает PostgreSQL, расширения, базы данных и пользователей.

Установка

Тестировалось на Ansible 2.4.0 и выше.

Чтобы установить:

ansible-galaxy install ANXS.postgresql

Зависимости

  • ANXS.monit (Galaxy/GH), если вы хотите защиту monit (в этом случае установите monit_protection: true)

Матрица совместимости

Распределение / 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 :no_entry: :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
  • :white_check_mark: - протестировано, работает нормально
  • :grey_question: - будет работать в будущем (помогите, если можете)
  • :interrobang: - возможно, работает, не протестировано
  • :no_entry: - PostgreSQL достиг конца своего срока службы

Переменные

# Основные настройки
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 # следует ли включить сервис, по умолчанию true

postgresql_cluster_name: "main"
postgresql_cluster_reset: false

# Список баз данных для создания (необязательно)
# Примечание: для большей гибкости с расширениями используйте настройку postgresql_database_extensions.
postgresql_databases:
  - name: foobar
    owner: baz          # необязательно; укажите владельца базы данных
    hstore: yes         # флаг для установки расширения hstore в этой базе данных (да/нет)
    uuid_ossp: yes      # флаг для установки расширения uuid-ossp в этой базе данных (да/нет)
    citext: yes         # флаг для установки расширения citext в этой базе данных (да/нет)
    encoding: "UTF-8"   # переопределить глобальную переменную {{ postgresql_encoding }} для конкретной базы данных
    lc_collate: "en_GB.UTF-8"   # переопределить глобальную переменную {{ postgresql_locale }} для конкретной базы данных
    lc_ctype: "en_GB.UTF-8"     # переопределить глобальную переменную {{ postgresql_ctype }} для конкретной базы данных

# Список расширений базы данных для создания (необязательно)
postgresql_database_extensions:
  - db: foobar
    extensions:
      - hstore
      - citext

# Список пользователей для создания (необязательно)
postgresql_users:
  - name: baz
    pass: pass
    encrypted: no       # обозначает, зашифрован ли пароль.

# Список схем для создания (необязательно)
postgresql_schemas:
  - database: foobar           # имя базы данных
    schema: acme               # имя схемы
    state: present

  - database: foobar           # имя базы данных
    schema: acme_baz           # имя схемы
    owner: baz                 # имя владельца
    state: present

# Список привилегий пользователей (необязательно)
postgresql_user_privileges:
  - name: baz                   # имя пользователя
    db: foobar                  # база данных
    priv: "ALL"                 # строка формата привилегий: пример: INSERT,UPDATE/table:SELECT/anothertable:ALL
    role_attr_flags: "CREATEDB" # флаги атрибутов роли

Существует много других параметров, которые можно настроить, с ними можно ознакомиться в defaults/main.yml

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

Этот проект включает Vagrantfile, это быстрый и простой способ протестировать изменения в роли, запустите его с помощью vagrant up

Смотрите документацию Vagrant для настройки Vagrant

После того как ваша виртуальная машина запущена, вы можете повторно развернуть её, используя vagrant provision, или ansible-playbook tests/playbook.yml -i vagrant-inventory

Если вы хотите поэкспериментировать с тестами, посмотрите tests/playbook.yml и измените переменные в tests/vars.yml

Если вы собираетесь внести изменения, сначала протестируйте их в окружении vagrant (с использованием целевого дистрибутива), и если возможно, убедитесь, что ваше изменение покрыто тестами, найденными в .travis.yml

Лицензия

Лицензия MIT. Подробности см. в файле LICENSE.

Спасибо

Создатель:

Сопровождающие:

Лучшие участники:

Отзывы, отчеты об ошибках, запросы, ...

Добро пожаловать!

О проекте

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

Установить
ansible-galaxy install skoneka/ansible-anxs-postgresql
Лицензия
mit
Загрузки
107872
Владелец